web-dev-qa-db-ja.com

JavaScript関数で文字列パラメーターを渡す

文字列を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 }

7

コードを

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

変数nameの名前をmynameに変更します。bacausenamewindowの一般的なプロパティであり、同じウィンドウで書き込み可能ではありません。

そして交換

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);
}
7
Nina Scholz

質問には回答しましたが、今後のコーディングの参考として、これを検討してください。

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 [〜#〜]

2
Andy

以下のコードのような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);
}
1
Mehdi Jalal
//use this
document.write('<td width="74"><button id="button" type="button" onclick="myfunction('" + name + "')">click</button></td>')
0
Sameer