Anu*_*rty 7 html javascript events onclick button
我试图将字符串传递给javascript函数.
正如这里提到的 - 在onclick函数中传递字符串参数
我正在使用这个简单的代码 -
<!DOCTYPE html>
<html>
<body>
<script>
name = "Mathew";
document.write("<button id='button' type='button' onclick='myfunction(\''" + name + "'\')'>click</button>")
function myfunction(name)
{
alert(name);
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但是在控制台中它会给出错误Uncaught SyntaxError: Unexpected token }.
将您的代码更改为
document.write("<td width='74'><button id='button' type='button' onclick='myfunction(\""+ name + "\")'>click</button></td>")
Run Code Online (Sandbox Code Playgroud)
将变量重命名name为myname,bacause name是一个通用属性,window并且在同一窗口中不可写.
并替换
onclick='myfunction(\''" + name + "'\')'
Run Code Online (Sandbox Code Playgroud)
同
onclick='myfunction(myname)'
Run Code Online (Sandbox Code Playgroud)
工作范例:
var myname = "Mathew";
document.write('<button id="button" type="button" onclick="myfunction(myname);">click</button>');
function myfunction(name) {
alert(name);
}Run Code Online (Sandbox Code Playgroud)
document.write(`<td width='74'><button id='button' type='button' onclick='myfunction(\``+ name + `\`)'>click</button></td>`)
Run Code Online (Sandbox Code Playgroud)
使用``比使用“”更好。这是一个更加动态的答案。
问题已得到解答,但为了您将来的编码参考,您可能需要考虑这一点。
在您的 HTML 中,将名称作为属性添加到按钮并删除 onclick 引用。
<button id="button" data-name="Mathew" type="button">click</button>
Run Code Online (Sandbox Code Playgroud)
在您的 JavaScript 中,使用按钮的 ID 获取按钮,将函数分配给按钮的click事件,并使用该函数显示按钮的 data-name 属性。
var button = document.getElementById('button');
button.onclick = myfunction;
function myfunction() {
var name = this.getAttribute('data-name');
alert(name);
}
Run Code Online (Sandbox Code Playgroud)