Versio

Dynamisch formulier

Overzicht Reageren

Lukas V

Lukas V

08/09/2011 09:33:21
Quote Anchor link
Ik zou graag een dynamisch formulier maken maar weet niet goed hoe eraan te beginnen. Het zou de bedoeling moeten zijn als men in een selection list een dag selecteert dat er adhv hetgeen ingevuld is een andere selection list tevoorschijn komt,
Bv ik selecteer "maandag" dan komt er een volgende selection list met de keuzes "voormiddag" of "namiddag". Als ik bv zondag selecteer moet er een selection list verschijnen met "avond" of "nacht".

Kan iemand mij daarbij helpen? Alvast bedankt!
 
PHP hulp

PHP hulp

24/05/2012 10:54:39
Gesponsorde koppelingen:
 
Jacco Engel

Jacco Engel

08/09/2011 09:49:47
Quote Anchor link
Laten we eens beginnen met de vraag :>
Wat is je bron?
- Db
- Statisch
- anders
 
Lukas V

Lukas V

08/09/2011 10:19:46
Quote Anchor link
Wat bedoel je met de 'bron'?

Hierbij alvast de code:

1. Men kiest dus eerst de dag:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<tr>
      <td align="left">&nbsp;</td>
        <td align="left">Dag:</td>
        <td><select name="Dag">
          <option value="">Selecteer...</option>
          <option value="Maandag"'.(isset($_POST['Dag']) && $_POST['Dag'] == 'Maandag' ? ' selected' : '').'>
          Maandag
          </option>
          <option value="Dinsdag"'.(isset($_POST['Dag']) && $_POST['Dag'] == 'Dinsdag' ? ' selected' : '').'>
          Dinsdag
          </option>
          <option value="Woensdag"'.(isset($_POST['Dag']) && $_POST['Dag'] == 'Woensdag' ? ' selected' : '').'>
          Woensdag
          </option>
          <option value="Donderdag"'.(isset($_POST['Dag']) && $_POST['Dag'] == 'Donderdag' ? ' selected' : '').'>
          Donderdag
          </option>
           <option value="Vrijdag"'.(isset($_POST['Dag']) && $_POST['Dag'] == 'Vrijdag' ? ' selected' : '').'>
          Vrijdag
          </option>
           <option value="Zondag"'.(isset($_POST['Dag']) && $_POST['Dag'] == 'Zondag' ? ' selected' : '').'>
          Zondag
          </option>
        </select></td>
    </tr>


2. Indien men voor maandag-dinsdag-woensdag-donderdag-vrijdag kiest moet de volgende selectionlist tevoorschijn komen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<tr>
  <td align="left">&nbsp;</td>
         <td align="left">Uur: <br />
</td>
        <td><select name="Uur">
          <option value="">Selecteer...</option>
          <option value="18:30 - 19:30 (350 euro)"'.(isset($_POST['Uur']) && $_POST['Uur'] == '18:30 - 19:30 (350 euro)' ? ' selected' : '').'>
          
          18:30 - 19:30 (350 euro)
          
          </option>
          <option value="19:30 - 20:30 (350 euro)"'.(isset($_POST['Uur']) && $_POST['Uur'] == '19:30 - 20:30 (350 euro)' ? ' selected' : '').'>
          
          19:30 - 20:30 (350 euro)
          
          </option>
           <option value="20:30 - 21:30 (350 euro)"'.(isset($_POST['Uur']) && $_POST['Uur'] == '20:30 - 21:30 (350 euro)' ? ' selected' : '').'>
          
          20:30 - 21:30 (350 euro)
          
          </option>
          <option value="21:30 - 23:00 (450 euro)"'.(isset($_POST['Uur']) && $_POST['Uur'] == '21:30 - 23:00 (450 euro)' ? ' selected' : '').'>
          
          21:30 - 23:00 (450 euro)
          
          </option>
          
    </select>        
</tr>


3. Als men voor zondag kiest moet volgende selectionlist verschijnen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<tr>
  <td align="left">&nbsp;</td>
         <td align="left">Uur: <br />
</td>
        <td><select name="Uur">
          <option value="">Selecteer...</option>
<option value="8:30 - 9:30 (350 euro)"'.(isset($_POST['Uur']) && $_POST['Uur'] == '8:30 - 9:30 (350 euro)' ? ' selected' : '').'>
          
          8:30 - 9:30 (350 euro)
          
          </option>
          <option value="9:30 - 10:30 (350 euro)"'.(isset($_POST['Uur']) && $_POST['Uur'] == '9:30 - 10:30 (350 euro)' ? ' selected' : '').'>
          
          9:30 - 10:30 (350 euro)
          
          </option>
          <option value="10:30 - 11:30 (350 euro)"'.(isset($_POST['Uur']) && $_POST['Uur'] == '10:30 - 11:30 (350 euro)' ? ' selected' : '').'>
          
          10:30 - 11:30 (350 euro)
          
          </option>
          <option value="11:30 - 12:30 (350 euro)"'.(isset($_POST['Uur']) && $_POST['Uur'] == '11:30 - 12:30 (350 euro)' ? ' selected' : '').'>
          
          11:30 - 12:30 (350 euro)
          
          </option>
  </select>        
</tr>
Gewijzigd op 08/09/2011 10:21:56 door Lukas V
 
Jacco Engel

Jacco Engel

08/09/2011 10:32:48
Quote Anchor link
bron de; v(m) -nen 1. oorzaak, oorsprong; plaats van ontstaan
 
Lukas V

Lukas V

08/09/2011 11:20:41
Quote Anchor link
Het is gewoon een PHP-formulier en hetgeen ingevuld is wordt via e-mail (phpmailer) verstuurd naar de bezoeker en webmaster.
Gewijzigd op 08/09/2011 11:20:52 door Lukas V
 
Jacco Engel

Jacco Engel

08/09/2011 11:34:45
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<html>
    <head>
        <script type="text/javascript">
        function switchdisplay(el)
        {
            if(el.checked)
            {
                document.getElementById('sub_' + el.id).style.display = ''
            }
            else
            {
                document.getElementById('sub_' + el.id).style.display = 'none'
            }
        }
        </script>
    </head>
    <body>
        <table>
            <tr>
                <td>
                    <input type="checkbox" id="zondag" value="zondag" onclick="switchdisplay(this)" />
                </td>
                <td>
                    Zondag
                </td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" id="maandag" value="maandag" onclick="switchdisplay(this)" />
                </td>
                <td>
                    Maandag
                </td>
            </tr>
        </table>
        <div style="display : none" id="sub_zondag">
            Wat de subzondag moet worden
        </div>
        <div style="display : none" id="sub_maandag">
            Wat de submaandag moet worden
        </div>
    </body>
</html>


Simpel voorbeeld, succes :)
 
Harry H Arends

Harry H Arends

08/09/2011 18:57:46
Quote Anchor link
Zou deze methode ook werken als er ipv een checkbox een drop-down lijst gebruikt zou worden. Ik zoek namelijk zoiets omdat in mijn DDL een keuze anders is en er dan een andere INPUT tevoorschijn moet komen.
 
Lukas V

Lukas V

08/09/2011 18:59:47
Quote Anchor link
Harry H Arends op 08/09/2011 18:57:46:
Zou deze methode ook werken als er ipv een checkbox een drop-down lijst gebruikt zou worden. Ik zoek namelijk zoiets omdat in mijn DDL een keuze anders is en er dan een andere INPUT tevoorschijn moet komen.


Vraag ik me ook af, ik probeer al een tijdje maar zonder resultaat....
 
- SanThe -

- SanThe -

08/09/2011 19:08:33
Quote Anchor link
Ja, dat kan. Ik kan het op het moment echter even niet meer vinden.
 
Jurgen B

Jurgen B

08/09/2011 19:25:11
Quote Anchor link
<select name="dropDown" onchange="processChange">

in processChange dan de value van dropDown opvragen en eventueel actie ondernemen, of van mijn part met processChange(this) om het makkelijker te maken?
 
Harry H Arends

Harry H Arends

12/09/2011 15:50:25
Quote Anchor link
Hoi JB

Zo gemakkelijk is het blijkbaar toch niet want dit werkt niet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<html>
        <script type="text/javascript">
        function switchdisplay(el)
        {
            if(el.checked)
            {
                document.getElementById('sub_' + el.id).style.display = ''
            }
            else if(el.changed)
            {
                document.getElementById('sub_' + el.id).style.display = ''
            }
            else
            {
                document.getElementById('sub_' + el.id).style.display = 'none'
            }
        }
        </script>

.........
<td>
    <select id='route' class="UserInput" name="route" onchange="switchdisplay(this)">                                    <option value="Topical">Topical</option>
        <option value="Oral">Oral</option>
        <option value="Subcutaneous">Subcutaneous</option>
        <option value="Intramuscular">Intramuscular</option>
        <option value="Intravenous">Intravenous</option>
        <option value="Rectal">Rectal</option>
        <option value="Other">Other</option>
    </select>
</td>
<td>Rout of administration</td>
..........
        <div style="display : none" id="sub_route">
            <textarea rows="3" name="route_other" cols="40"></textarea>
        </div>
..........
</html>

Verder heb ik niets aangepast.
Uiteindelijk moet alleen als de keuze Other is dit invulveld getoond worden.
Gewijzigd op 12/09/2011 16:44:14 door Harry H Arends
 
Ger van Steenderen

Ger van Steenderen

12/09/2011 16:45:43
Quote Anchor link
een select heeft geen checked eigenschap, maar een value.

function switchdisplay(el){
switch(el.value) {
case 'Topical':
.....
break;
case etc, etc
}
 
Harry H Arends

Harry H Arends

12/09/2011 17:20:16
Quote Anchor link
Aangezien mijn kennis van Java bestaat uit veel knippen plakken was ik niet verrast dat wat ik brouwde niet werkt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<html>
    <head>
        <script type="text/javascript">
        function route_display(el)
        {
            switch(el.id)
            case Other
                document.getElementById('sub_' + el.id).style.display = '';
            break;
            default
                document.getElementById('sub_' + el.id).style.display = 'none';
            break;
        }
        </script>
    </head>
    <body>
        <table>
            <tr>
                <td>
                <select id='route' class="UserInput" name="route" onchange="route_display(this)">                                                        
                    <option value="Topical">Topical</option>
                    <option value="Oral">Oral</option>
                    <option value="Subcutaneous">Subcutaneous</option>
                    <option value="Intramuscular">Intramuscular</option>
                    <option value="Intravenous">Intravenous</option>
                    <option value="Rectal">Rectal</option>
                    <option value="Other">Other</option>
                </select></td>
                <td>
                    Rout of administration
                </td>
            </tr>
        </table>
        <div style="display : none" id="sub_route">
        <textarea rows="3" name="route_other" cols="40"></textarea>
    </div>
    </body>
</html>
 
Ger van Steenderen

Ger van Steenderen

12/09/2011 17:31:32
Quote Anchor link
el.id = 'route', dat moet je ook niet hebben je moet de value hebben, zie mijn vorige post. Dit is een string dus tussen aanhalingstekens.
De select krijgt de value van de geselecteerde optie (of leeg als niets is geselecteerd)
En je bent ook nog wat accolades en : vergeten.
Gewijzigd op 12/09/2011 17:37:00 door Ger van Steenderen
 
Harry H Arends

Harry H Arends

12/09/2011 18:39:41
Quote Anchor link
Aangezien ik niet weet waar ik wat vergeten ben hierbij mijn aanpassingen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        <script type="text/javascript">
        function route_display(el)
        {
            switch(el.value)
            {
            case "Other":
                document.getElementById('sub_' + el.id).style.display = ''
            break;
            default:
                document.getElementById('sub_' + el.id).style.display = 'none'
            break;
            }
        }
        </script>

Kan je exact aangeven waar ik wat vergeten ben A.U.B.
Gewijzigd op 12/09/2011 19:10:45 door Harry H Arends
 
Ger van Steenderen

Ger van Steenderen

12/09/2011 19:07:13
Quote Anchor link
regel 4: switch(el.value) moet zijn switch(el.value) {
vanzelfsprekend noet er dan ook nog een afsluitende } tussen regel 11 en 12
 
Harry H Arends

Harry H Arends

12/09/2011 19:10:06
Quote Anchor link
Heb het in de bovenstaande code aangpast en het werkt nu.
Bedankt voor alle hulp. Op naar het volgende probleem.
 



Overzicht Reageren

Get Adobe Flash player