Can I Use Javascript To Set The 'name' Attribute?
Solution 1:
This worked for me
alert(document.getElementById('testInput').name);
document.getElementById('testInput').name = 'someName';
alert(document.getElementById('testInput').name);
With
<inputtype="radio" name="test"id="testInput" />
Solution 2:
Sitepoint liesis talking about a different usage of ‘name’ (see Anthony's comment). It's not read-only, it's just there's a long-standing IE bug (up to v7) where setting ‘name’ on form fields is only partially effective. Radio buttons in particular don't accept it properly.
The Microsoft-endorsed solution, as detailed here is to use a horrific misfeature of IE's version of the createElement call to set attributes at the same time:
var radio= document.createElement('<inputtype="radio"name="test"value="a" />');
Probably a better way would simply be to use good old innerHTML, eg.:
var div= document.createElement('div');
div.innerHTML= '<input type="radio" name="test" value="a" />';
var radio= div.firstChild;
Solution 3:
Why not use setAttribute("name", yourValue)
it works perfectly fine.
Solution 4:
Have you tried simply assigning a new name to the elements name
property? I'm not sure how cross-browser that is but it shold work with anything supporting DOM level 1.
I'm not sure why you would use setAttribute to perform this?
Solution 5:
The name property is not read only for input elements.
See the spec.
Post a Comment for "Can I Use Javascript To Set The 'name' Attribute?"