Avatar billede baitianlong Nybegynder
22. februar 2005 - 23:30 Der er 11 kommentarer og
1 løsning

firefox kan ikke lide selector.value

f.maaned.value = <?php print($maaned - 1); ?>;

Den virker fint i IE men ikke i firefox.. Hvorfor ikke, og hvad gør jeg :) ??
Avatar billede mr_bacardi Nybegynder
23. februar 2005 - 11:13 #1
post din HTML kode, value virker fint i FireFox (på langt de fleste elementer), men det er nok din måde at "linke" til feltet, der ikke overholder diverse standards.
Post derfor din HTML og JavaScript kode, hvis du ikke vil det kan du også prøve at benytte innerHTML i stedet for value.
Avatar billede baitianlong Nybegynder
23. februar 2005 - 19:39 #2
<select name="maaned" size="1" onChange="window.location.href='index.php?month='+this.value;">
<script type="text/javascript">
var months = ["January","February","March","April","May","June","July","August","September","October","November","December"];
for(i=0;i<months.length;i++)
    document.write('<option value="'+i+'">'+months[i]+'</option>');
f.maaned.value = <?php print($maaned - 1); ?>;
</script>
</select>

Det er når man skifter maaned i denne selector, så genindlæses siden, og selectoren skal stå på det valgte. Som sagt virker det fint i IE, men i firefox står den bare på januar hver gang
Avatar billede roenving Novice
24. februar 2005 - 01:38 #3
Hvad er f ?-)

-- måske:

f.maaned.selectedIndex = <?php $maaned - 1 ?>;
Avatar billede mr_bacardi Nybegynder
24. februar 2005 - 10:41 #4
<body onLoad="document.getElementById('maaned').selectedIndex = <?php print($maaned - 1); ?>;">
<select name="maaned" ID="maaned" size="1" onChange="top.location.href='index.php?month='+this.options[this.selectedIndex].value">
<script type="text/javascript">
var months = ["January","February","March","April","May","June","July","August","September","October","November","December"];
for(i=0;i<months.length;i++)
    document.write('<option value="'+i+'">'+months[i]+'</option>');
</script>
</select>

Jeg går ud fra f er en form, men siden at det ikke er en standard, vil jeg anbefale i stedet at benytte getElementById, derfor har din select fået et id.
som roenving skriver, skal man bruge selectedIndex, men hvis du skriver det lige efter, vil den kun sjældent nå at blive udført, da den når at sende kommandoen inden siden er indlæst, dette er grunden til jeg har sat den ind i en onLoad i en body, du tager den bare ud og sætter ind i din egen, hvis nu du har andre attributes i den ;)
Det du brugte i onChange, var ikke gyldig HTML 4.01 standard, så det ændrede jeg også lige så vi er sikker på det virker i alle browsere.
Avatar billede roenving Novice
24. februar 2005 - 13:25 #5
-- er this.value ikke gyldig html 4 ?-)

-- det er slet ikke html, men Ecmascript Dom-binding, og er den gældende standard ...
Avatar billede mr_bacardi Nybegynder
24. februar 2005 - 13:32 #6
Ved ikke hvad for noget af det som ikke var gyldigt, havde ikke lige W3C til at godkende det, men TSW Webcoder brokkede sig over den attribute ;)
Avatar billede roenving Novice
24. februar 2005 - 14:28 #7
-- for bagud-kompatibilitet kan det være nødvendigt ...
Avatar billede mr_bacardi Nybegynder
24. februar 2005 - 16:49 #8
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/selectedindex.asp
også DOM standard, men skal vi ikke bare lade ham selv bedømme hvad han vil bruge, han kan jo altid køre en W3C validation på hans site, hvis han går op i det :)
Avatar billede baitianlong Nybegynder
25. februar 2005 - 18:32 #9
selectedIndex var en vinder, hvorfor tænkte jeg ikke på det. Jeg skulle bare skifte value ud med det, så kørte den i firefox :)

Men roenving, du mangler lige print eller echo i din/min php :) Smid dog et svar for den rørende løsning...
Avatar billede roenving Novice
26. februar 2005 - 04:47 #10
Velbekomme '-)
Avatar billede roenving Novice
26. februar 2005 - 04:47 #11
;O)
Avatar billede roenving Novice
28. februar 2005 - 12:10 #12
-- og tak for point ;~}
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