Weergegeven resultaten: 1 t/m 7 van 7
  1. #1
    Member yannick's schermafbeelding
    Lid sinds
    16/09/02
    Locatie
    Antwerpen
    Berichten
    2.223
    iTrader
    6 (100%)

    PHP/JS: Javascript code werkt niet in IE :s.

    Ik heb dus een minuscuul stukske code geschreven om er voor te zorgen dat bij het aanklikken van een bepaalde checkbox er een inputveld naast komt (dus van type="hidden" wordt type="text").

    Allemaal heel tof, werkt perfect in firefox. Maar in IE slaagt het totaal mis (alles btw op de site, IE sucked wel ).

    Code:
    <script language="javascript" type="text/javascript"> 
    
    function test(frm){ 
    	if (!frm.Andere.checked) { 
    		frm.Anderebox.type="hidden"; 
    	} 
    	else{ 
    		frm.Anderebox.type="text";
    	}
    } 
    
    </script>
    Tis is het input veld:
    Code:
    <input type="checkbox" name="Andere" onclick="test(this.form)" value="ja"/>
    Hoe kan ik ervoor zorgen dat mensen die Internet explorer nog gebruiken (Shame on them ) dit ook kunnen gebruiken?

    mvg
    Yannick Welens

  2. #2
    RpR
    RpR is offline
    Member RpR's schermafbeelding
    Lid sinds
    26/03/03
    Locatie
    Dendermonde
    Berichten
    5.474
    iTrader
    28 (100%)
    denk dat je in ie niet van hidden naar text kunt geraken en dat je zal moeten werken met het style element en zo verbergen en terug tonen.

  3. #3
    Member yannick's schermafbeelding
    Lid sinds
    16/09/02
    Locatie
    Antwerpen
    Berichten
    2.223
    iTrader
    6 (100%)
    heb het me ne span gdn en innerHTML. Het werkt nu in IE, maar niet meer in firefox :@

  4. #4
    Member orez's schermafbeelding
    Lid sinds
    17/07/02
    Locatie
    Meulebeke
    Berichten
    4.405
    iTrader
    7 (89%)
    niet met innerHTML met STYLE ELEMENTS zoals reaper zei..

  5. #5
    Member Smoerf's schermafbeelding
    Lid sinds
    28/07/04
    Locatie
    Wevelgem
    Berichten
    552
    iTrader
    0
    Nodes in je Dom tree aanmaken doe je nog altijd met createElement. Dan appenChild aan je parent element.

    voor jou probleem is het natuurlijk beter om gewoon even de style te switchen

    Hier vind je een werkend voorbeeld:
    http://joggink.be/wupload/_tn/yannick/

    css:
    Code:
    <style type="text/css">
    
    input.hide{
    	display:none;
    }
    
    </style>
    javascript
    Code:
    <script type="text/javascript">
    
    function showInput(){
    
       var ac = document.getElementById('andere');
       var ai = document.getElementById('anderebox');
    	
    	if (ac.checked){
    	   ai.className = '';
    	}else{
    		ai.className = 'hide';
    	}
    
    }
    
    </script>
    Laatst gewijzigd door Smoerf; 14 december 2006 om 12:02

  6. #6
    Member yannick's schermafbeelding
    Lid sinds
    16/09/02
    Locatie
    Antwerpen
    Berichten
    2.223
    iTrader
    6 (100%)
    Citaat Oorspronkelijk geplaatst door Smoerf Bekijk bericht
    Nodes in je Dom tree aanmaken doe je nog altijd met createElement. Dan appenChild aan je parent element.

    voor jou probleem is het natuurlijk beter om gewoon even de style te switchen

    Hier vind je een werkend voorbeeld:
    http://joggink.be/wupload/_tn/yannick/

    css:
    Code:
    <style type="text/css">
    
    input.hide{
    	display:none;
    }
    
    </style>
    javascript
    Code:
    <script type="text/javascript">
    
    function showInput(){
    
       var ac = document.getElementById('andere');
       var ai = document.getElementById('anderebox');
    	
    	if (ac.checked){
    	   ai.className = '';
    	}else{
    		ai.className = 'hide';
    	}
    
    }
    
    </script>
    Macheert ni in IE . Toch ni op mijn IE (de 6 dus).

    Kheb het ander opgelost
    Code:
    function test(frm){ 
    	if (document.compatMode && document.all)
    	{
    		if (!frm.Andere.checked) { 
    			document.getElementById("anderebox").innerHTML="<input id='testje' type='hidden' name='Anderebox' size='15' align='absmiddle' />"; 
    		} 
    		else{ 
    			document.getElementById("anderebox").innerHTML="<input id='testje' type='text' name='Anderebox' size='15' align='absmiddle' />"; 
    		}
    	}
    	if (Array.every){
    		if (!frm.Andere.checked) { 
    			frm.Anderebox.type="hidden"; 
    		} 
    		else{ 
    			frm.Anderebox.type="text"; 
    		}
    	}
    }
    Door te kijken of deze methodes en objects true zijn weet ik welke browser de gebruiker hanteerd. Hierdoor kan ik dus op inspelen door 2 versier te maken (eventueel 3 of 4 als ik der zin in heb, voor opera en/of ie7 )

    Mvg

  7. #7
    Member Smoerf's schermafbeelding
    Lid sinds
    28/07/04
    Locatie
    Wevelgem
    Berichten
    552
    iTrader
    0
    en als je ipv ac.checked doet ac.value == 'ja'

Discussie informatie

Users Browsing this Thread

Op dit moment bekijken 1 gebruikers deze discussie. (0 leden en 1 gasten)

Regels voor berichten

  • Je mag geen nieuwe discussies starten
  • Je mag niet reageren op berichten
  • Je mag geen bijlagen versturen
  • Je mag niet je berichten bewerken
  •