简体   繁体   中英

How can I set the input value of a form in javascript?

Suppose that I have defined a form ( my_form ) that has an input named myInput . I would like to set the value of myInput to be my_string .

$('#my_form textarea[name=myInput]').value = my_string;

I've tried the above line, and this works for most browsers, but not for Opera/Safari. I know it doesn't work for Opera/Safari because the line

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

logs undefined was the string to the screen instead of the actual value of my_string (which is not undefined).

How can I achieve this for these browsers?

Try this example:

 $(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 src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <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>

You have to use .val() instead of .value . And quotes for a string.

So the final code will be:

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

or with variable

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM