Hidden elements werken niet goed

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sander van Schalken

Sander van Schalken

04/12/2008 14:52:00
Quote Anchor link
Ik kom niet uit het volgende:
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)
PHP script in nieuw venster Selecteer het PHP script
1
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>
Gewijzigd op 01/01/1970 01:00:00 door Sander van Schalken
 
PHP hulp

PHP hulp

22/12/2024 17:44:28
 
Dennis Mertens

Dennis Mertens

04/12/2008 14:56:00
Quote Anchor link
Graag code tags gebruiken zodat alles makkelijk te lezen is.
A.u.b.
 
--

--

04/12/2008 14:56:00
Quote Anchor link
..
Gewijzigd op 01/01/1970 01:00:00 door --
 
Sander van Schalken

Sander van Schalken

04/12/2008 15:04:00
Quote Anchor link
Nadat ik idd op submit heb geklikt verschijnt het formulier opnieuw wanneer er b.v. andere velden (zoals adres ofzo) niet zijn ingevuld.
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').
 
Dennis Mertens

Dennis Mertens

04/12/2008 15:09:00
Quote Anchor link
Evert schreef op 04.12.2008 14:56:
Hoe bedoel je dit precies? Dat je het formulier submit en dan controleren op waarde ofzo?

@Dennis,
het zijn echt 10 regels man..
Ja sorry, maar dat is gewoon irritant. Die code-tag is er toch niet voor niets.

Het leest gewoon knake.
 
Sander van Schalken

Sander van Schalken

04/12/2008 15:16:00
Quote Anchor link
Beste Dennis,
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
 
--

--

04/12/2008 15:25:00
Quote Anchor link
..
Gewijzigd op 01/01/1970 01:00:00 door --
 
Dennis Mertens

Dennis Mertens

04/12/2008 15:41:00
Quote Anchor link
Prima zo hoor Sander, alleen moest even een reactie op Evert kwijt. En nu weer op jou :)

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;"
 
Sander van Schalken

Sander van Schalken

04/12/2008 15:47:00
Quote Anchor link
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??
 
Tamara

Tamara

04/12/2008 16:14:00
Quote Anchor link
Je kan dit prima met JQuery oplossen :P
 
Dennis Mertens

Dennis Mertens

04/12/2008 16:21:00
Quote Anchor link
jQuery? Waarom met jQuery?

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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
echo 'style="'.(IsSet($_POST['inclusief']) && $_POST['inclusief'] == 'ja' ? 'block' : 'none').'"';
[
/code]

Zoiets denk ik?
 
Sander van Schalken

Sander van Schalken

04/12/2008 16:22:00
Quote Anchor link
ziet er mooi uit dat JQuery, maar dan moet ik me daar echt diep in gaan graven om dat mezelf eigen te maken.
Is er niemand die een voorbeeldje heeft of een link naar een oplossing?
 
Dennis Mertens

Dennis Mertens

04/12/2008 16:26:00
Quote Anchor link
Waar voor? Ik geef je net 1 regel code. Deze is volgens mij al voldoende om de div's te verbergen of ze juist weer te geven...

En ik vind jQuery prachting (andere weer MooTools, Prototype of Spry) maar dit is zo klein.
 
Sander van Schalken

Sander van Schalken

04/12/2008 16:32:00
Quote Anchor link
oeps... overheen gelezen ;-)
 
Sander van Schalken

Sander van Schalken

04/12/2008 17:07:00
Quote Anchor link
Ik werk niet met DIV's, maar gewoon met tables.

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
 
Yorick17

yorick17

04/12/2008 17:09:00
Quote Anchor link
@sander
wijzig je bericht in plaats van een nieuwe post
 
Sander van Schalken

Sander van Schalken

11/12/2008 11:23:00
Quote Anchor link
Uiteindelijk een oplossing gevonden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>


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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.