我一直在尝试调用onclick js函数,该函数包含一个PHP变量形式的参数。我的代码看起来像这样:
dynamic-kitten-tds
但它会出现以下错误:
echo "<input type = 'button' onclick = 'activateit(".json_encode($name).")' value = '$name'>";
chrome检查元素显示如下:
activateit is not defined at HTMLInputElement.onclick
其中$ name = chai。我已经坚持了很长一段时间了。请帮忙。
答案 0 :(得分:1)
如评论中所述,使用以下内容将事情做得更好,您可以将您的值分配给id或要调用它的任何属性,并且对于添加的每个按钮,您使用class属性,这样您就可以添加多个按钮问题,也避免了许多点击事件声明。你必须包含你的jquery脚本标记
// echo "<input type = 'button' onclick = 'activateit(".json_encode($name).")' value = '$name'>"; is change to the below
echo "<input type = 'button' id=".json_encode($name)." value = '$name' class='added_button'>";
然后我们使用$ (document).on
,因为我们希望为存在的任何按钮触发事件,并且如果在页面加载后添加了更多按钮
$ (document).on ('click', '.added_button', function (e) {
// this will be added if you dont want a form to submit when the button is pressed if it is in a form
// or to stop it from doing whatever it was meant to do
e.preventDefault ();
var name = this.id; // this will give you the value 'chai'
// to test it we do an alert
alert (name);
// add your code here
});
包含jquery使用<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>