I seem to have a problem with my javascript code. What I want to do is make the last line of code alert out the value of a html checkbox name which has been dynamically made in javascript. It is trying to look for prechecksub in the html but I want to the value of prechecksub and insert it into the alert if this makes sense. Probably not
Code:
function catboxclick(cat)
{
alert("catboxclick called");
var prechecksub = "checksub" + cat;
alert(prechecksub);
alert(document.catcheckboxes.checkcatgroup.length);
alert(document.catcheckboxes.checksub0.length);
alert(document.catcheckboxes.prechecksub.length); // this doesnt work, there is no such html element as prechecksub, it is made in JS.
}
I seem to have a problem with my javascript code. What I want to do is make the last line of code alert out the value of a html checkbox name which has been dynamically made in javascript.
Made how? Can we see the way you have created and appended that checkbox?
innerHTML is not a standard DOM method, thus it might not insert quite well the new elements or their attributes into the DOM tree. I would have rather use DOM standard methods to create and append a new element (createElement(), setAttribute() and so on)
On the other hand, you may try something else: in case of a single radio or checkbox element referenced by name, the classical reference (document.formname.elementname) could fail. Try first the DOM 1+ method:
Code:
document.getElementsByName('prechecksub')[0]
Keep in mind that getElementsByName() method is to be used only upon form's elements (well, it works upon images, frames and links as well, but I woun't bet on the future of) and will return always a collection (that means you always need an index to point a certain element)
Bookmarks