![](/img/trans.png)
[英]How to call JavaScript function in “php” inputbox in echo on “onChange” event
[英]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.