Hidden elements werken niet goed
Zoals in onderstaande script staat, gaat het om een inschrijfformulier, waarbij er gekozen kan worden om met een partner in te schrijven. Wanneer er met een partner wordt ingeschreven komen de desbetreffende velden naar boven, maar wanneer vervolgens de inschrijving wordt gedaan onthoudt het systeem niet dat deze extra velden opgeroept moeten worden.
Ik heb al van alles geprobeerd (onload, extra if statement), maar ik kom er niet uit.
Wie weet een manier, dat deze extra velden blijven staan nadat er op ja is geklikt?
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<table width="600px" cellspacing=0 cellpadding=0 id="twee">
<td width="360">Inschrijven inclusief partner:</td>
<td><input name="inclusief" type="radio" value="ja" <?php if($_POST['inclusief'] == "ja"){echo'checked';} ?> onClick="document.getElementById('een').style.display=''; document.getElementById('twee').style.display=''; document.getElementById('drie').style.display=''; document.getElementById('vier').style.display='';" >Ja
<input name="inclusief" type="radio" value="nee" <?php if($_POST['inclusief'] == "nee"){echo'checked';} ?> onClick="document.getElementById('een').style.display=''; document.getElementById('twee').style.display=''; document.getElementById('drie').style.display='none'; document.getElementById('vier').style.display='';">Nee
</td>
</table>
<td width="360">Inschrijven inclusief partner:</td>
<td><input name="inclusief" type="radio" value="ja" <?php if($_POST['inclusief'] == "ja"){echo'checked';} ?> onClick="document.getElementById('een').style.display=''; document.getElementById('twee').style.display=''; document.getElementById('drie').style.display=''; document.getElementById('vier').style.display='';" >Ja
<input name="inclusief" type="radio" value="nee" <?php if($_POST['inclusief'] == "nee"){echo'checked';} ?> onClick="document.getElementById('een').style.display=''; document.getElementById('twee').style.display=''; document.getElementById('drie').style.display='none'; document.getElementById('vier').style.display='';">Nee
</td>
</table>
Gewijzigd op 01/01/1970 01:00:00 door Sander van Schalken
A.u.b.
Gewijzigd op 01/01/1970 01:00:00 door --
Alleen staat dan wel het juiste veld aangevinkt, alleen wanneer dit ja is, staan niet de extra velden die hier bij horen (in dit geval element 'drie').
Evert schreef op 04.12.2008 14:56:
Ja sorry, maar dat is gewoon irritant. Die code-tag is er toch niet voor niets.Hoe bedoel je dit precies? Dat je het formulier submit en dan controleren op waarde ofzo?
@Dennis,
het zijn echt 10 regels man..
@Dennis,
het zijn echt 10 regels man..
Het leest gewoon knake.
Allemaal leuk en aardig dat je commentaar geeft, maar als je er nu ook een oplossing bij zet hoe die code er dan uit moet zijn, dan zou dit wel helpen. Ik heb het al aangepast, maar schijnbaar niet naar je tevredenheid. Ik zou niet weten hoe ik het anders moet doen.
Ondertussen vervuilt deze post met niet relevante info, waar ik zeker niet mee geholpen ben om mijn probleem te verhelpen.
Gewijzigd op 01/01/1970 01:00:00 door Sander van Schalken
Gewijzigd op 01/01/1970 01:00:00 door --
Het is mooier als je een JavaScript functie hier voor maakt. Zo wordt je lijn erg lang etc.
Op het moment dat er een fout op is getreden en je weer het formulier weergeeft controleer je of er al een post is gezet. Met die post zet je de style display's goed. Gewoon met style="display: none;"
Dat is idd een goed idee, maar hoe roep je dit dan op, aangezien wat ik nu heb is met onclick en dan moet het er automatisch komen te staan (zonder klik). Kortom, heb je een voorbeeldje??
Je kan dit prima met JQuery oplossen :P
Hij heeft al de code om de div's te verbergen. Komt niet veel bij kijken.
Ik neem aan dat je tenminste met div's werkt? Anders is het hetzelfde voor een table ofzo.
Is er niemand die een voorbeeldje heeft of een link naar een oplossing?
En ik vind jQuery prachting (andere weer MooTools, Prototype of Spry) maar dit is zo klein.
oeps... overheen gelezen ;-)
Ik heb je oplossing gedeeltelijk aan de praat.
Wanneer ik op 'ja' klik en bevestig, blijfven de extra regels nu staan.
Maar wanneer ik op 'nee' klik, komen de extra regels er ook bij.
Gewijzigd op 01/01/1970 01:00:00 door Sander van Schalken
wijzig je bericht in plaats van een nieuwe post
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php if ($_POST['inclusief'] == "1") {?>
<table width="600px" cellspacing=0 cellpadding=0 id="twee">
<td width="360">Inschrijven inclusief partner:</td>
<td><input name="inclusief" type="radio" value="1" <?php if($_POST['inclusief'] == "1"){echo'checked';} ?> onClick="document.getElementById('een').style.display=''; document.getElementById('twee').style.display=''; document.getElementById('drie').style.display=''; document.getElementById('vier').style.display='';" >Ja
<input name="inclusief" type="radio" value="2" <?php if($_POST['inclusief'] == "2"){echo'checked';} ?> onClick="document.getElementById('een').style.display=''; document.getElementById('twee').style.display=''; document.getElementById('drie').style.display='none'; document.getElementById('vier').style.display='';">Nee
</td>
</table>
<table width="600px" cellspacing=0 cellpadding=0 id="twee">
<td width="360">Inschrijven inclusief partner:</td>
<td><input name="inclusief" type="radio" value="1" <?php if($_POST['inclusief'] == "1"){echo'checked';} ?> onClick="document.getElementById('een').style.display=''; document.getElementById('twee').style.display=''; document.getElementById('drie').style.display=''; document.getElementById('vier').style.display='';" >Ja
<input name="inclusief" type="radio" value="2" <?php if($_POST['inclusief'] == "2"){echo'checked';} ?> onClick="document.getElementById('een').style.display=''; document.getElementById('twee').style.display=''; document.getElementById('drie').style.display='none'; document.getElementById('vier').style.display='';">Nee
</td>
</table>
In het tweede gedeelte (then), heb ik het gedeelte dat moest oplichten via de document.getElemtById de waarde 'vijf' gegeven en vervolgens de ID van de TABLE die hieronder staat (dezelfde als erboven bij de IF) ook de waarde 'vijf' gegeven
Gewijzigd op 01/01/1970 01:00:00 door Sander van Schalken