繁体   English   中英

如何在回显内的onchange中包含javascript方法调用

[英]How to include a javascript method call in onchange within an echo

大家好,我在编写回声以产生带有onchange事件的文本区域时遇到问题。

echo "<td class='innerTable'><div>";
echo "<textarea name='comments' id='comments' onchange="saveChanges(this,$row_model['id'])" style='font-family:sans-serif;font-size:1.2em;'>";
echo "</textarea></div></td>";

我试过在onchange中的双引号之前使用反斜杠并使用单引号,但是在textarea行上不断出现解析错误。 当注释更改时,saveChanges javascript应运行,并且ajax调用应将新注释保存到数据库中

这是我的javascript方法。

function saveChanges(object, module_id){   
    $.ajax({
        url: 'saveComments.php',
        data: 'content=' + object.value+ '&id=' + module_id,
        cache: false,
        error: function(e){
          alert(e);
        },
    success: function(response){
        // A response to say if it's updated or not
        alert(response);
    }
});   

}

您可以按以下方式使用串联:

onchange='saveChanges(this," . $row_model['id'] . ")' 

所以你回声会变成

echo "<td class='innerTable'><div>";
echo "<textarea name='comments' id='comments' onchange='saveChanges(this," . $row_model['id'] . ")' style='font-family:sans-serif;font-size:1.2em;'>";
echo "</textarea></div></td>";

尝试将您的PHP代码更改为:

echo "<td class='innerTable'><div>";
echo <<<EOF
<textarea name='comments' id='comments' onchange="saveChanges(this,{$row_model['id']})" style='font-family:sans-serif;font-size:1.2em;'>";
EOF;
echo "</textarea></div></td>";
echo "<td class='innerTable'><div>";
echo "<textarea name='comments' id='comments' onchange=\"saveChanges(this,$row_model['id'])\" style='font-family:sans-serif;font-size:1.2em;'>";
echo "</textarea></div></td>";

像之前在第二行使用“ \\”转义引号。

如下更改您的代码:

echo "<textarea name='comments' id='comments' onchange='saveChanges(this,{$row_model["id"]});' style='font-family:sans-serif;font-size:1.2em;'>";

你这样尝试

echo "<td class='innerTable'><div>";
echo "<textarea name='comments' id='comments' onchange='saveChanges(this,$row_model['id'])' style='font-family:sans-serif;font-size:1.2em;'>";
echo "</textarea></div></td>";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM