I have a JavaScript function to which I pass a parameter. The parameter represents the id of an element (a hidden field) in my web page. I want to change the value of this element.
function myFunc(variable) {
var s = document.getElementById(variable);
s.value = 'New value'
}
When I do this, I get an error that the value cannot be set because the object is null. But I know the object is not null because I see it in the HTML code generated by the browser.
Anyway, I tried the following code to debug
function myFunc(variable) {
var x = variable;
var y = 'This-is-the-real-id'
alert(x + ', ' + y)
var s = document.getElementById(x);
s.value = 'New value'
}
When the alert message shows up, both parameters are the same, but I still get the error. But everything works fine when I do
var s = document.getElementById('This-is-the-real-id');
s.value = 'New value'
How can I fix this?
The element for which I am setting the value is a hidden field and the id is set dynamically, as the page loads. I have tried added this in the $(document).ready function, but it did not work.
If myFunc(variable) is executed before the textarea is rendered to the page, you will get the null exception error.
So, make sure your textarea does exist on the page, and then call myFunc. You can use the window.onload or $(document).ready function.