Re: Reloading a page when selection made in select box

by "Cyanide _7" <leo7278(at)hotmail.com>

 Date:  Tue, 20 Jun 2000 01:19:14 CDT
 To:  derek(at)realware.com.au
 Cc:  hwg-languages(at)hwg.org
  todo: View Thread, Original
   this solution was just posted to a similar question. here is the 
explanation behind it:

   the standard way to retrieve the value of the currently selected option 
in a select object is to reference the option in its array with the select 
object's selectedIndex property, then read that option's value. IE made a 
shortcut that only works in IE by giving the select object a value property 
that reflects the currently selected options value.

   also, you should assign the string to the href property of the location 
object, not the object itself. this is another example of a browser letting 
ppl get away with sloppy code. in any case, here is the safer code:

function companyChanged(field) {
  var cid = field.options[field.selectedIndex].value;
  location.href = "/customer/customer_add.cfm?f_companyId="+cid;
}

- Cyanide_7

>
>Ooops I thought I sent this the other day.
>
>Thanks Romek for that idea, unfortunately the values and the indexes do not
>match in all cases where I use this. Has any one any other ideas.
>
>Thanks
>
>Derek
>
>----- Original Message -----
>From: Romek aka webadmin <www(at)wipos.p.lodz.pl>
>To: Derek Lavine <derek(at)realware.com.au>
>Cc: <hwg-languages(at)hwg.org>
>Sent: Saturday, June 17, 2000 3:01 AM
>Subject: Re: Reloading a page when selection made in select box
>
>
> > At 08:42 16-06-00 +1000, you wrote:
> > >Hi,
> > >
> > >I have a java script function
> > >
> > >function companyChanged(field) {
> > > window.location='/customer/customer_add.cfm?f_companyId=' + 
>field.value;
> > >}
> > >
> > >
> > >And in  the HTML I have a select widget
> > >
> > ><select name="f_companyId" size=1 onChange="companyChanged(this)">
> > ><option value="0">None
> > ><option value="1">Abc
> > ><option value="2">Xyz
> >
> >
> > >In netscape the field.value always comes to be null and not the number
> > >associated with the selection made.
> > >
> > >Yet if I change companyChanged(field) to look like this
> > >
> > >function companyChanged(field) {
> > >    alert(field)
> > >}
> > >
> > >Netscape correctly identifies field as being the select object.
> > >Has anyone any ideas.
> >
> > Try to use  selectedIndex  property of the field:
> >
> >  function companyChanged(field)
> >  {
> >    window.location=
> >    '/customer/customer_add.cfm?f_companyId=' + field.selectedIndex;
> >  }
> >
> >   if you keep numeric values as 0, 1, 2  then  selectedIndex
> >   has  the same values and the script works (tested in Opera
> >   which is close to NN 3 as far as JavaScript is concerned).
> >
> > >Thanks in advance
> > >
> > >Derek
> >
> >
> > --
> > Romek Zylla
> > ~~~~~~~~~~~  after all the work done by Micro$oft (R)  ~~~~~~~~~~
> >         Personal Computer Science is an experimental one (C)
> >        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
>

________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com

HWG: hwg-languages mailing list archives, maintained by Webmasters @ IWA