Connecting Tech Pros Worldwide Help | Site Map

Problem with RADIO (created by DOM) in Internet Explorer

 
LinkBack Thread Tools Search this Thread
  #1  
Old July 20th, 2005, 11:17 AM
Raghuram Banda
Guest
 
Posts: n/a
Default Problem with RADIO (created by DOM) in Internet Explorer

Hi All,

The following is the function I used to create RADIO buttons using DOM.
It works fine with Netscape but not with IE.
function addGroup3Radio() {
var cellId = document.getElementById("cell1");
for(var i=0; i < arrData.length; i++) {
var objRadItem = document.createElement("input");
objRadItem.type = "radio";
objRadItem.name = "radGroup";
objRadItem.id = "idrad_" + i;
objRadItem.value = arrData[i][0];

if(i == 1) {
objRadItem.defaultChecked = true;
objRadItem.checked = true;
}
var objTextNode = document.createTextNode(" " + arrData[i][1]);
var objLabel = document.createElement("label");
objLabel.htmlFor = objRadItem.id;
objLabel.appendChild(objRadItem);
objLabel.appendChild(objTextNode);

var objBreak = document.createElement("br");

cellId.appendChild(objLabel);
cellId.appendChild(objBreak);
}
document.forms["FirstFormName"].addRadio.disabled = true;
}

Can any one help me to come out of this problem.

Thanks in advance
Raghuram Banda


  #2  
Old July 20th, 2005, 11:17 AM
Martin Honnen
Guest
 
Posts: n/a
Default Re: Problem with RADIO (created by DOM) in Internet Explorer



Raghuram Banda wrote:
[color=blue]
> The following is the function I used to create RADIO buttons using DOM.
> It works fine with Netscape but not with IE.
> function addGroup3Radio() {
> var cellId = document.getElementById("cell1");
> for(var i=0; i < arrData.length; i++) {
> var objRadItem = document.createElement("input");
> objRadItem.type = "radio";
> objRadItem.name = "radGroup";
> objRadItem.id = "idrad_" + i;
> objRadItem.value = arrData[i][0];
>
> if(i == 1) {
> objRadItem.defaultChecked = true;
> objRadItem.checked = true;
> }
> var objTextNode = document.createTextNode(" " + arrData[i][1]);
> var objLabel = document.createElement("label");
> objLabel.htmlFor = objRadItem.id;
> objLabel.appendChild(objRadItem);
> objLabel.appendChild(objTextNode);
>
> var objBreak = document.createElement("br");
>
> cellId.appendChild(objLabel);
> cellId.appendChild(objBreak);
> }
> document.forms["FirstFormName"].addRadio.disabled = true;
> }
>[/color]

What is not working with IE? I guess the radio buttons are inserted
fine, the only thing that IE/Win doesn't support is then to allow access to
document.forms.formName.elements.radGroup
as documented at

http://msdn.microsoft.com/workshop/a...ies/name_2.asp
which explains that you cannot set name on elemens created dynamically
with createElement. The suggestion there is to use the IE only
document.createElement('<input type="radio" name="radGroup">')

--

Martin Honnen
http://JavaScript.FAQTs.com/

  #3  
Old July 23rd, 2005, 04:38 PM
obsidian8@hotmail.com
Guest
 
Posts: n/a
Default Re: Problem with RADIO (created by DOM) in Internet Explorer

Martin,

I tried your solution for the radio buttons and it worked like a charm!
I must have looked at every posting on this site for javascript and
radio buttons and yours is the only one that worked. Many thanks!
Melvin Morris

  #4  
Old July 23rd, 2005, 04:39 PM
RobG
Guest
 
Posts: n/a
Default Re: Problem with RADIO (created by DOM) in Internet Explorer

obsidian8@hotmail.com wrote:[color=blue]
> Martin,
>
> I tried your solution for the radio buttons and it worked like a charm!
> I must have looked at every posting on this site for javascript and
> radio buttons and yours is the only one that worked. Many thanks!
> Melvin Morris
>[/color]

So because IE doesn't implement the W3C DOM correctly, you will use an
IE-only method to do something that is well supported on most other
browsers, and certainly all the other mainstream ones?

What was wrong with the more widely supported innerHTML solution
proposed yesterday?

You could try detecting IE and creating elements using their
innerText-like solution, but innerHTML is pretty widely supported and
would not require such silliness.

--
Rob
 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

What is Bytes?

We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights. Get the best answers to your questions from over 220,662 network members.