Avatar billede mkjaer Nybegynder
13. december 2004 - 07:48 Der er 7 kommentarer og
1 løsning

Skjule en del af en form indtil der krydses af

Hej,

jeg har en form, hvor jeg gerne vil skjule 3-4 text-felter indtil en checkbox bliver afkrydset. Text-felter skal altså default være skjult, dukke op når der sættes kryds i checkboxen - og forsvinde igen, hvis krydset fjernes fra checkboxen.

Hilsen
Martin
Avatar billede schaefner Juniormester
13. december 2004 - 08:58 #1
Det er jo nok nærmere noget javascript du skal ud i:

<form method="post" action="">

<input type="checkbox" onclick="document.getElementById('hiddenFormFields').style.display = (this.checked ? 'block' : 'none')">

<div id="hiddenFormFields" style="display: none">
    <input type="text" name="email"><br>
    <input type="text" name="job"><br>
    <input type="text" name="company">
</div>

</form>
Avatar billede mkjaer Nybegynder
13. december 2004 - 09:48 #2
Hej,

Det er helt fint, tak. Dog et lille 'problem' - de 3 text-felter er placeret i en tabel og der skal således <tr>, <td>, </tr> og </td> i mellem felter, og dermed virker ovenstående eksempel ikke. Hvad skal der til?

hilsen
Martin
Avatar billede Slettet bruger
13. december 2004 - 09:54 #3
jeg tror, uden at vide det, at du kan skrive

<table id="hiddenFormFields" style="display: none">
    <tr><td><input type="text" name="email"></td></tr>
    <tr><td><input type="text" name="job"></td></tr>
    <tr><td><input type="text" name="company"></td></tr>
</table>
Avatar billede schaefner Juniormester
13. december 2004 - 09:55 #4
<form method="post" action="">

<input type="checkbox" onclick="document.getElementById('hiddenFormFields').style.display = (this.checked ? 'block' : 'none')">

<div id="hiddenFormFields" style="display: none">
<table>
    <tr>
        <td>Email:</td>
        <td><input type="text" name="email"></td>
    </tr>
    <tr>
        <td>Job:</td>
        <td><input type="text" name="job"></td>
    </tr>
    <tr>
        <td>Firma:</td>
        <td><input type="text" name="company"></td>
    </tr>
</table>
</div>

</form>

Med venlig hilsen
Jesper Sørensen
Avatar billede mkjaer Nybegynder
13. december 2004 - 09:58 #5
Hej,

<table> skal placeres udenfor <div>-tagget, da det ikke er hele tabellen som skal skjules...., det skal altså kun være de 3 <tr> og <td>-tags som skal skjules.

hilsen
Martin
Avatar billede mkjaer Nybegynder
13. december 2004 - 10:18 #6
Hej igen,

OK, den sidste løste jeg vist selv. Men så dukker det et nyt problem op. Hvis der er kryds i checkbosen, når siden loades, så skjules text-felter - de skulle gerne vises, hvis der er kryds allerede fra starten.

hilsen
Martin
Avatar billede mkjaer Nybegynder
13. december 2004 - 10:20 #7
Jeg tilføjer lige lidt kode. $levadr er værdien af checkboxen.


if ($levadr) echo("<input value=\"1\" checked class=formbox type=\"checkbox\" name=\"levadr\" onclick=\"document.getElementById('hiddenFormFields').style.display = (this.checked ? 'block' : 'none')\">");
if (!$levadr) echo("<input value=\"1\" class=formbox type=\"checkbox\" name=\"levadr\" onclick=\"document.getElementById('hiddenFormFields').style.display = (this.checked ? 'block' : 'none')\">");
Avatar billede mkjaer Nybegynder
02. februar 2005 - 11:16 #8
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester