Reputation: 3264
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
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
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