Avatar billede acid-head Nybegynder
19. januar 2004 - 00:07 Der er 8 kommentarer og
1 løsning

OnChange problem med Mozilla

Hej eksperter. Jeg koder PHP, men skal bruge noget JS til det projekt jeg har gang i i øjeblikket, derfor har jeg lavet nedenstående lille script. Sikkert slam-JS-kode, jeg ved det ikke. Det virker fint nok i Internet Explorer men har problemer i Mozilla.

<script language="javascript">
function Change()
{
  var stdpris = 1000;
  pris.value = stdpris + parseInt(select1.value) + parseInt(select2.value);
}
</script>

Jeg har to select-forms (select1, og select2) hvor hver <option> har en value som indeholder et tal. Og så har jeg en textbox (pris). I hver af de to select-forms har jeg en onChange="Change()"
Avatar billede roenving Novice
19. januar 2004 - 00:13 #1
Mozilla kræver en korrekt javascript reference til felterne, så:

<script type="text/javascript">
function Change(){
  var f = document.forms[0];
  var stdpris = 1000;
  f.pris.value = stdpris + parseInt(f.select1.value,10) + parseInt(f.select2.value,10);
}
</script>

-- .forms[0] giver den første form, så hvis du har flere, kan det være bedre at skrive:

document.FORMNAVN eller
document.forms['FORMNAVN']

-- du kan også tælle dig frem, den anden form hedder .forms[1] osv.
Avatar billede thesurfer Nybegynder
19. januar 2004 - 00:25 #2
..og hvis du bruger document.FORMNAVN eller document.forms['FORMNAVN'], skal du huske:
<form name="FORMNAVN" ...>
:)
Avatar billede whatever Nybegynder
19. januar 2004 - 00:30 #3
Min erfaring siger dog at det kun er IE der kan finde ud af f.select1.value, når der er tale om select-tags. Istedet virker dette i alle 4+ browsere:

<script language="javascript">
function Change()
{
  var select1 = f.select1.options[f.select1.SelectedIndex].value;
  var select2 = f.select2.options[f.select2.SelectedIndex].value;
  var stdpris = 1000;
  pris.value = stdpris + parseInt(select1) + parseInt(select2);
}
</script>
Avatar billede whatever Nybegynder
19. januar 2004 - 00:30 #4
Glemte lige:

var f = document.forms[0];

:-)
Avatar billede acid-head Nybegynder
19. januar 2004 - 00:59 #5
whatever-> Din løsning giver fejl i min IE..:
  'select1.options[...].value' er null eller ikke et objekt
Avatar billede roenving Novice
19. januar 2004 - 00:59 #6
-- og f.pris ...

-- i øvrigt klarer alle moderne browsere fint select.value, men du har ret i, at v4-browserne ikke kunne klare den !-)
Avatar billede acid-head Nybegynder
22. januar 2004 - 18:35 #7
Det virker fint nok.. Ikke nogle der vil lægge et svar? :)
Avatar billede roenving Novice
26. januar 2004 - 02:52 #8
Velbekomme '-)
Avatar billede roenving Novice
31. januar 2004 - 18:44 #9
-- tak for points ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester