From: HerbF on 25 Apr 2010 20:47 I have a menu of radio buttons in a form I named form1. Each radio button is named 'p1p6.' I store the value of which button is selected in an array named 'edit_array.' When I try to select a button using data in the array, as: document.forms["form1"].elements["p1p6"][edit_array[3]].checked=true; It throws an error: 'uncaught exception.' What am I doing wrong? Herb
From: Stefan Weiss on 25 Apr 2010 21:03 On 26/04/10 02:47, HerbF(a)earthlink.net wrote: > I have a menu of radio buttons in a form I named form1. Each radio button > is named 'p1p6.' I store the value of which button is selected in an > array named 'edit_array.' When I try to select a button using data in the > array, as: > > document.forms["form1"].elements["p1p6"][edit_array[3]].checked=true; > > It throws an error: 'uncaught exception.' What am I doing wrong? document.forms["form1"].elements["p1p6"] is a NodeList (similar to an array of nodes). You need to access the radio button you're interested in by its index (or with the item() method), not by its value. I don't know the rest of your script, but this might work: document.forms["form1"].elements["p1p6"][3].checked = true; BTW, if the form and element names are fixed (and valid JS identifiers), you can also write the same line as document.forms.form1.elements.p1p6[3].checked = true; -- stefan
From: HerbF on 26 Apr 2010 01:30 Stefan Weiss wrote: >On 26/04/10 02:47, HerbF(a)earthlink.net wrote: >> I have a menu of radio buttons in a form I named form1. Each radio button >> is named 'p1p6.' I store the value of which button is selected in an >> array named 'edit_array.' When I try to select a button using data in the >> array, as: >> >> document.forms["form1"].elements["p1p6"][edit_array[3]].checked=true; >> >> It throws an error: 'uncaught exception.' What am I doing wrong? > > document.forms["form1"].elements["p1p6"] > >is a NodeList (similar to an array of nodes). You need to access the >radio button you're interested in by its index (or with the item() >method), not by its value. I don't know the rest of your script, but >this might work: > > document.forms["form1"].elements["p1p6"][3].checked = true; > >BTW, if the form and element names are fixed (and valid JS identifiers), >you can also write the same line as > > document.forms.form1.elements.p1p6[3].checked = true; edit_array[n] is the selected the radio button element, not [3]. IOW, edit_array[3] is simply a stored value...not necessarily 3.
From: Stefan Weiss on 26 Apr 2010 01:48 On 26/04/10 07:30, HerbF(a)earthlink.net wrote: > Stefan Weiss wrote: >>On 26/04/10 02:47, HerbF(a)earthlink.net wrote: >>> I have a menu of radio buttons in a form I named form1. Each radio button >>> is named 'p1p6.' I store the value of which button is selected in an >>> array named 'edit_array.' When I try to select a button using data in the >>> array, as: >>> >>> document.forms["form1"].elements["p1p6"][edit_array[3]].checked=true; >>> >>> It throws an error: 'uncaught exception.' What am I doing wrong? >> >> document.forms["form1"].elements["p1p6"] >> >>is a NodeList (similar to an array of nodes). You need to access the >>radio button you're interested in by its index (or with the item() >>method), not by its value. I don't know the rest of your script, but >>this might work: >> >> document.forms["form1"].elements["p1p6"][3].checked = true; >> >>BTW, if the form and element names are fixed (and valid JS identifiers), >>you can also write the same line as >> >> document.forms.form1.elements.p1p6[3].checked = true; > > edit_array[n] is the selected the radio button element, not [3]. IOW, > edit_array[3] is simply a stored value...not necessarily 3. If edit_array[n] is an input element, you can just use it directly: edit_array[n].checked = true; -- stefan
From: HerbF on 26 Apr 2010 10:27 Stefan Weiss wrote: >On 26/04/10 07:30, HerbF(a)earthlink.net wrote: >> Stefan Weiss wrote: >>>On 26/04/10 02:47, HerbF(a)earthlink.net wrote: >>>> I have a menu of radio buttons in a form I named form1. Each radio button >>>> is named 'p1p6.' I store the value of which button is selected in an >>>> array named 'edit_array.' When I try to select a button using data in the >>>> array, as: >>>> >>>> document.forms["form1"].elements["p1p6"][edit_array[3]].checked=true; >>>> >>>> It throws an error: 'uncaught exception.' What am I doing wrong? >>> >>> document.forms["form1"].elements["p1p6"] >>> >>>is a NodeList (similar to an array of nodes). You need to access the >>>radio button you're interested in by its index (or with the item() >>>method), not by its value. I don't know the rest of your script, but >>>this might work: >>> >>> document.forms["form1"].elements["p1p6"][3].checked = true; >>> >>>BTW, if the form and element names are fixed (and valid JS identifiers), >>>you can also write the same line as >>> >>> document.forms.form1.elements.p1p6[3].checked = true; >> >> edit_array[n] is the selected the radio button element, not [3]. IOW, >> edit_array[3] is simply a stored value...not necessarily 3. > >If edit_array[n] is an input element, you can just use it directly: > > edit_array[n].checked = true; No. Information is stored in a cookie. I read in the cookie and split its content to form an array I am calling edit_array. I want to use the value stored as edit_array[3] to select one of several radio button input elements in a menu named p1p6.
|
Next
|
Last
Pages: 1 2 Prev: how to create 5-dimensional array ? Next: writing a javascript client-side shopping cart |