Christian Heilmann

MSIE DOM messing around with the name attribute

Monday, April 4th, 2005 at 9:36 pm

I am working on a small editor for a CMS, and wanted to take a less WYSIWYG approach than for example HTMLarea does. My idea is to clone a node of possible block elements. Now, in the editor example Firefox works perfectly, the test output gets new IDs, for attributes and name attributes. MSIE however, fails to rename the name attribute (in the output the name of the textarea stays “c” instead of “c0”, the select doesn’t get a name attribute at all). The MSDN library does not have any information if there is a known bug.

The code in question:
ps[i].getElementsByTagName('label')[0].htmlFor='c'+i;
ps[i].getElementsByTagName('textarea')[0].id='c'+i;
ps[i].getElementsByTagName('textarea')[0].name='c'+i;
ps[i].getElementsByTagName('label')[1].htmlFor='t'+i;
ps[i].getElementsByTagName('select')[0].id='t'+i;
ps[i].getElementsByTagName('select')[0].name='t'+i;
Volkan Ozcelik pointed out on the evolt list that mixed case works:
ps[i].getElementsByTagName('label')[0].htmlFor='c'+i;
ps[i].getElementsByTagName('textarea')[0].id='c'+i;
ps[i].getElementsByTagName('textarea')[0].NAME='c'+i;
ps[i].getElementsByTagName('label')[1].htmlFor='t'+i;
ps[i].getElementsByTagName('select')[0].id='t'+i;
ps[i].getElementsByTagName('select')[0].NaMe='t'+i;

Anyone out there who can explain?

Share on Mastodon (needs instance)

Share on BlueSky

Newsletter

Check out the Dev Digest Newsletter I write every week for WeAreDevelopers. Latest issues:

Don't stop thinking, AI Slop vs. OSS Security, rolling your own S3 Despite AI you still need to think, Bitter lessons from building AI products,  AI Slop vs. OSS security and pointer pointer…
200: Building for the web, what's left after rm -rf & 🌊🐴 vs AI What remains after you do a rm -rf? Why do LLMs know about a seahorse emoji? What image formats should you use? How private is your car?
Word is Doomed, Flawed LLM benchmarks, hard sorting and CSS mistakes Spot LLM benchmark flaws, learn why sorting is hard, how to run Doom in Word and how to say "no" like a manager.
30 years of JS, Browser AI, how attackers use GenAI, whistling code Learn how to use AI in your browser and not on the cloud, why AI makes different mistakes than humans and go and whistle up some code!
197: Dunning-Kruger steroids, state of cloud security, puppies>beer

My other work: