[JS] DIV onzichtbaar maken werkt niet in IE!

Pagina: 1
Acties:
  • 133 views sinds 30-01-2008
  • Reageer

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 18-04 05:37

alienfruit

the alien you never expected

Topicstarter
Ik ben bezig met een formulier waarbij velden onzichtbaar moeten worden gemaakt afhankelijk van de gemaakte keuze. Dit werkt allemaal perfect in Firefox maar niet in Internet Explorer. In Internet Explorer wordt er een deel van de inhoud niet getoont, namelijk de tekstveld.

Ik heb de volgende html:

HTML:
1
2
3
4
5
6
<div id="f-Q3">
  <label>Door wie?
     <span class="hint">hint</span>
     <input id="Q3" name="Q3" class="input " value="0"/>
  </label>
</div>


Als ik vervolgens deze na een onchange-event op een combobox onzichtbaar maak in Internet Explorer zie ik wel de label maar niet de input-veld. Terwijl het prima werkt in Firefox/1.0.7. Ik maak
gebruik van de prototype.js library. Vervolgens de functie Element.show( "f-Q3" );

Ik krijg ook geen foutmeldinge in de script console van Firefox :(

[ Voor 10% gewijzigd door alienfruit op 27-10-2005 20:50 ]


  • cyberstalker
  • Registratie: September 2005
  • Niet online

cyberstalker

Eersteklas beunhaas

Ik betwijfel of het het probleem is, maar je hoort natuurlijk geen input element in je label te stoppen.

Ik ontken het bestaan van IE.


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 18-04 05:37

alienfruit

the alien you never expected

Topicstarter
Qua stijlen was het zo makkelijker te stylen en hoef je eigen geen id-attribuut meet te geven. Volgens de spec mag het.

[ Voor 29% gewijzigd door alienfruit op 27-10-2005 20:57 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 23-04 12:47

André

Analytics dude

Hoe ziet die funtie er uit dan? En wat als je alleen dat stukje html icm die functie op een pagina zet, werkt het dan wel?

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

JavaScript:
1
2
3
4
5
6
7
8
function showHide(strName) {            
    var dest = document.getElementById(strName);
    if (dest.style.display == ''){              
        dest.style.display = 'none';            
    } else{             
        dest.style.display = '';            
    }       
}


en dan ergens ne url aanmaken met javascript:showHide('f-Q3');

astu >:)

Going for adventure, lots of sun and a convertible! | GMT-8


  • b19a
  • Registratie: September 2002
  • Niet online
cyberstalker schreef op donderdag 27 oktober 2005 @ 20:51:
Ik betwijfel of het het probleem is, maar je hoort natuurlijk geen input element in je label te stoppen.
ow?

TS: heb je een demo URL?

offtopic:
edit: hmm... over een reply heen gelezen... is het nu al gelukt? zo niet kom dan maar met die demopagina!

[ Voor 16% gewijzigd door b19a op 27-10-2005 23:54 ]


  • Charango
  • Registratie: Juni 2001
  • Laatst online: 26-04 22:11
Ik heb wel eens soortgelijke problemen gehad; de oplossing zat toen in het expliciet definiëren van de visibility in je stylesheet, dus je f-Q3 op "display: block" zetten.

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 18-04 05:37

alienfruit

the alien you never expected

Topicstarter
Ik heb een voorbeeld online gezet, ik krijg niet voor elkaar :( Ik zie vast iets over het hoofd!

Als je bij de eerste combobox Nee kiest en vervolgens bij de tweede combobox Ja kiest. Moet je twee tekstvelden te zien krijgen werkt prima in Firefox ( Gecko/20050915 Firefox/1.0.7) maar niet in Internet Explorer.

[ Voor 42% gewijzigd door alienfruit op 28-10-2005 03:15 ]


  • Fles
  • Registratie: Augustus 2001
  • Laatst online: 06-04-2023
*edit: beter lezen... |:( *

[ Voor 78% gewijzigd door Fles op 28-10-2005 09:50 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Het lijkt op een soort peekaboo bug; als ik een beetje speel met de width van de label floept de input ineens tevoorschijn.

Intentionally left blank


  • mrBussy
  • Registratie: December 2002
  • Laatst online: 02-09-2025
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
function showHide(strName) {            
    var dest = document.getElementById(strName);
    if (dest.style.display == '')
    {                
        dest.style.display = 'none';
        dest.style.visibility = 'hidden';
    } else{                
        dest.style.display = '';
        dest.style.visibility = 'visible';            
    }        
}


This should to the trick

  • Fles
  • Registratie: Augustus 2001
  • Laatst online: 06-04-2023
crisp schreef op vrijdag 28 oktober 2005 @ 10:13:
Het lijkt op een soort peekaboo bug; als ik een beetje speel met de width van de label floept de input ineens tevoorschijn.
Volgens mij heeft het alleen temaken met het verversen van de pagina als je hem op "Ja" hebt staan. Dan geeft hij hem wel weer. Ik krijg het niet voor elkaar om hem weer te laten geven bij het veranderen van optie.

[ Voor 32% gewijzigd door Fles op 28-10-2005 10:42 ]


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 18-04 05:37

alienfruit

the alien you never expected

Topicstarter
Ik heb de nieuwe functie geprobeerd maar dit verergert het probleem hier alleen :( Nu krijg ik ook de combobox niet te zien? Hmm, crisp je had het over de breedte van de LABEL heb je enige suggesties hoe lang dit dan moet worden om het toch zichtbaar te krijgen in IE?

Misschien een nieuwe stylesheet maken? Eens kijken of we daar een gekke Australiër voor in kunnen huren.

[ Voor 125% gewijzigd door alienfruit op 28-10-2005 13:30 ]

Pagina: 1