login  Naam:   Wachtwoord: 
Registreer je!
 Forum

javascript in IE (Opgelost)

Offline Gyss - 10/02/2008 20:29 (laatste wijziging 10/02/2008 20:32)
Avatar van GyssNieuw lid Ik ben een soort van voetbalopstelling aan het maken.
Het bestaat uit 11 <select> elementen op een voetbalveld.
Stel ik verander de linksvoorpositie, en deze speler staat al opgesteld als rechtsvoor, dan moet rechtsvoorpositie leeg worden.

Hier (een stukje) van de code (ik geef het id van de positie mee):
  1. function check(positie)
  2. {
  3. switch(document.getElementById(positie).value)
  4. {
  5. case document.getElementById('i2').value: document.getElementById('i2').value = '- - - - - - - - - -'; break;
  6. case document.getElementById('i3').value: document.getElementById('i3').value = '- - - - - - - - - -'; break;
  7. case document.getElementById('i4').value: document.getElementById('i4').value = '- - - - - - - - - -'; break;
  8. }
  9. }


Leeg betekent inderdaad dat het - - - - - moet worden.
Nu werkt dit perfect in Firefox, maar IE heeft er problemen mee. Die maakt de positie 'i2' altijd helemaal leeg. Zet ik 'i4' als eerste case, dan doet ie 't daar.
Iemand een idee hoe dit verschilt in IE?

2 antwoorden

Gesponsorde links
Offline jerone - 11/02/2008 09:21 (laatste wijziging 11/02/2008 09:22)
Avatar van jerone JS gevorderde Volgens mij is dit geen valid manier van scripten.

Dit lijkt er meer op:
  1. function check(positie)
  2. {
  3. switch(positie)
  4. {
  5. case 'i2': document.getElementById('i2').value = '- - - - - - - - - -'; break;
  6. case 'i3': document.getElementById('i3').value = '- - - - - - - - - -'; break;
  7. case 'i4': document.getElementById('i4').value = '- - - - - - - - - -'; break;
  8. }
  9. }

En dan aanroepen, bijv.: check('i4')
Offline Gyss - 11/02/2008 14:48 (laatste wijziging 11/02/2008 17:07)
Avatar van Gyss Nieuw lid hm ja klopt mss wel, maar nu vergelijkt hij de id's van de keuzelijsten en niet de waarde die erin staat. De id's zijn natuurlijk nooit gelijk.
zo ziet m'n keuzelijst eruit voor positie 1:
<select id="i1" onchange"check(this.id)">

Het probleem zit m in: document.getElementById('i2').value
IE kan hier op deze manier geen value uit halen, Firefox wel...
window.alert(document.getElementById('i2').value);
geeft namelijk een leeg veld!
Wat doe ik fout?  

Edit: Oké, ik heb het zelf al gevonden!
Voor diegene die toevallig met hetzelfde zitten:
IE wil dat je in je <option> een value geeft. Namelijk
<option value="Piet">Piet</option>
Pas dan kun je value opvragen..
En dat had ik niet. Firefox kijkt er blijkbaar niet zo nauw naar!  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.383s