在JavaScript函数中传递字符串参数

时间:2015-08-12 09:19:59

标签: javascript html events button onclick

我试图将字符串传递给javascript函数。

正如这里提到的那样 - pass string parameter in an onclick function

我使用这个简单的代码 -

<!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>

但是在控制台中它会给出Uncaught SyntaxError: Unexpected token }之类的错误。

6 个答案:

答案 0 :(得分:8)

将您的代码更改为

document.write("<td width='74'><button id='button' type='button' onclick='myfunction(\""+ name + "\")'>click</button></td>")

答案 1 :(得分:7)

将变量name重命名为myname,因为namewindow的通用属性,并且在同一窗口中无法写入。

并替换

onclick='myfunction(\''" + name + "'\')'

使用

onclick='myfunction(myname)'

工作示例:

&#13;
&#13;
var myname = "Mathew";
document.write('<button id="button" type="button" onclick="myfunction(myname);">click</button>');
function myfunction(name) {
    alert(name);
}
&#13;
&#13;
&#13;

答案 2 :(得分:1)

问题已经得到解答,但是对于您将来的编码参考,您可能会考虑这个问题。

在HTML中,将名称作为属性添加到按钮,然后删除onclick引用。

<button id="button" data-name="Mathew" type="button">click</button>

在您的JS中,使用其ID获取按钮,将该功能分配给按钮的click事件,并使用该功能显示按钮的数据名称属性。

var button = document.getElementById('button');

button.onclick = myfunction;

function myfunction() {
  var name = this.getAttribute('data-name');
  alert(name);
}

祝你好运。

DEMO

答案 3 :(得分:0)

//use this
document.write('<td width="74"><button id="button" type="button" onclick="myfunction('" + name + "')">click</button></td>')

答案 4 :(得分:0)

您可以将字符串参数传递给javascript函数,例如以下代码:

我传递了3个参数,其中第三个是字符串参数,希望对您有所帮助。

var btn ="<input type='button' onclick='RoomIsReadyFunc("+ID+","+RefId+",\""+YourString+"\");'  value='Room is Ready' />";

//your javascript function

function RoomIsReadyFunc(ID, RefId, YourString)
{
     alert(ID);
     alert(RefId);
     alert(YourString);
}

答案 5 :(得分:0)

document.write(`<td width='74'><button id='button' type='button' onclick='myfunction(\``+ name + `\`)'>click</button></td>`)

最好使用``而不是“,这是更动态的答案。