Everyone_Else
Everyone_Else

Reputation: 3264

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?

Upvotes: 1

Views: 8263

Answers (2)

Saurabh Agrawal
Saurabh Agrawal

Reputation: 7739

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>

Upvotes: 3

CZ workman
CZ workman

Reputation: 195

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);

Upvotes: 2

Related Questions