[thelist] Form generated in JS doesn't work in IE
kasimir-k
kasimir.k.lists at gmail.com
Sun Jun 1 06:54:36 CDT 2008
> kasimir-k wrote:
>> Yes, the options should be there allright but the select element is
>> invisible to IE's form submission. To fix it, instead of this:
>>
>> mySelect.setAttribute('NAME','width');
>>
>> try this:
>>
>> mySelect.name = 'width';
Chris Price scribeva in 2008-05-30 19:41:
> Nope, still doesn't work.
Well, it would if you were submitting the form :-)
But the problem lies in submission - namely in the onsubmit handler. And
there are actually two problems for IE6.
First:
var myWidth = this.conWidth.value;
does not work unless the element has also an id "conWidth" (the name and
id attributes must be the same). So you could do like this:
var mySelect = document.createElement('select');
mySelect.name = 'conWidth';
mySelect.id = 'conWidth';
or you could access the elements like this:
var myWidth = this.elements[2].value;
(Oddly this.elements['conWidth'].value does not work, so you must use
numeric indices)
Second problem:
myDiv.firstChild.nodeValue = '£' + myPrice;
IE6 does not see any childnodes for myDiv, so it can't set a value. Two
ways around this:
myDiv.innerHTML = '£' + myPrice;
or put an actual textnode in the div - empty space doesn't seem to cut
it, but you can use
<div id="showprice"> </div>
Such a fascinating piece of software this IE6!
.k
More information about the thelist
mailing list