2016-07-06 10 views
1

Angenommen, ich habe ein Formular definiert (my_form), das einen Eingang mit der Bezeichnung myInput hat. Ich möchte den Wert auf my_string setzen.Wie kann ich den Eingabewert eines Formulars in Javascript setzen?

Ich habe die obige Zeile versucht, und dies funktioniert für die meisten Browser, aber nicht für Opera/Safari. Ich weiß, dass es nicht für Opera/Safari, weil die Linie

console.log($('#my_form textarea[name=myInput]').value + " was the string"); 

Protokolle undefined was the string auf dem Bildschirm statt des tatsächlichen Wertes von my_string funktioniert (was nicht nicht definiert ist).

Wie kann ich dies für diese Browser erreichen?

+2

Es sieht als ob du jQuery benutzt. Versuchen Sie '.val()' anstelle von '.value'. – RobertAKARobin

+2

https://api.jquery.com/val/ – Jack

Antwort

1

Gerade durch dieses Beispiel Hoffe, es wird für Sie arbeiten :)

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("#btn1").click(function(){ 
     $("#test1").text("Hello world!"); 
    }); 
    $("#btn2").click(function(){ 
     $("#test2").html("<b>Hello world!</b>"); 
    }); 
    $("#btn3").click(function(){ 
     $("#test3").val("Dolly Duck"); 
    }); 
}); 
</script> 
</head> 
<body> 

<p id="test1">This is a paragraph.</p> 
<p id="test2">This is another paragraph.</p> 

<p>Input field: <input type="text" id="test3" value="Mickey Mouse"></p> 

<button id="btn1">Set Text</button> 
<button id="btn2">Set HTML</button> 
<button id="btn3">Set Value</button> 

</body> 
</html> 
1

Sie müssen .val() anstelle von .value verwenden. Und Zitate für eine Zeichenfolge.

So wird der endgültige Code sein:

$("#my_form textarea[name=myInput]").val("my_string_with_quotes_before_and_after"); 

oder mit variabler

var string="some text"; 
$("#my_form textarea[name=myInput]").val(string);