web-dev-qa-db-de.com

Übergabe des String-Parameters in der JavaScript-Funktion

Ich habe versucht, eine Zeichenfolge an eine JavaScript-Funktion zu übergeben.

Wie hier erwähnt - übergeben Sie den String-Parameter in einer On-Click-Funktion

Ich benutze diesen einfachen Code-

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

Aber in der Konsole gibt es Fehler wie Uncaught SyntaxError: Unexpected token }.

6

Ändern Sie Ihren Code in 

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

Benennen Sie Ihre Variable name in myname um, weil name eine generische Eigenschaft von window ist und nicht in demselben Fenster beschrieben werden kann.

Und ersetzen 

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

Mit

onclick='myfunction(myname)'

Arbeitsbeispiel:

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

7
Nina Scholz

Die Frage wurde beantwortet, aber für Ihre zukünftige Codierungsreferenz möchten Sie dies vielleicht in Betracht ziehen.

Fügen Sie der Schaltfläche in Ihrem HTML-Code den Namen als Attribut hinzu, und entfernen Sie die Onclick-Referenz.

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

Greifen Sie in Ihrem JS die Schaltfläche mit ihrer ID an, weisen Sie die Funktion dem Ereignis click der Schaltfläche zu und verwenden Sie die Funktion, um das Datennamensattribut der Schaltfläche anzuzeigen.

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

button.onclick = myfunction;

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

Viel Glück.

DEMO

1
Andy

Sie können Zeichenfolgeparameter an JavaScript-Funktionen wie im folgenden Code übergeben:

Ich habe 3 Parameter übergeben, wobei der dritte Parameter ein String-Parameter ist. Ich hoffe, das hilft.

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);
}
0
Mehdi Jalal
//use this
document.write('<td width="74"><button id="button" type="button" onclick="myfunction('" + name + "')">click</button></td>')
0
Sameer