文字列を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>
しかし、コンソールでは、Uncaught SyntaxError: Unexpected token }
。
コードを
document.write("<td width='74'><button id='button' type='button' onclick='myfunction(\""+ name + "\")'>click</button></td>")
変数name
の名前をmyname
に変更します。bacausename
はwindow
の一般的なプロパティであり、同じウィンドウで書き込み可能ではありません。
そして交換
onclick='myfunction(\''" + name + "'\')'
と
onclick='myfunction(myname)'
作業例:
var myname = "Mathew";
document.write('<button id="button" type="button" onclick="myfunction(myname);">click</button>');
function myfunction(name) {
alert(name);
}
質問には回答しましたが、今後のコーディングの参考として、これを検討してください。
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);
}
幸運を祈ります。
以下のコードのようなjavascript関数に文字列パラメーターを渡すことができます。
3つのパラメーターを渡しましたが、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);
}
//use this
document.write('<td width="74"><button id="button" type="button" onclick="myfunction('" + name + "')">click</button></td>')