Velden van formulier alleen verzenden als hoger is als 0 en met tekst
Ik zit met de volgende vraag. Ik heb een formulier waarin mensen aan kunnen geven met een dropdown lijst welk aantal ze willen hebben van welk product.
Standaard is er een 0 ingevuld. Met het verzenden van het formulier worden alle velden verzonden.
Nu ben ik opzoek naar een mogelijkheid dat alleen de velden waar een hoger cijfer dan een 0 instaat en de velden met tekst moet worden verzonden.
Ik heb al rond gekeken op het internet, maar wat ik ook probeer iedere keer krijg ik een fout 500 melding.
Wie kan mij verder helpen?
Je kunt twee dingen doen:
a) een foreach in PHP die naar het aantal kijkt. Indien aantal == 0 dan skippen
b) met javascript dynamisch formuliervelden toevoegen of verwijderen VOORDAT het formulier verzonden wordt.
Belangrijk met dit soort formulieren is hoe je je array's opbouwt. Bekijk dit voorbeeld eens:
Code (php)
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
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
<?php
echo '<pre>';
print_r($_POST);
echo '</pre>';
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
foreach($_POST['article'] as $article) {
if($article['aantal'] > 0) {
echo 'U heeft ' . $article['aantal'] . ' stuks artikel ' . $article['artnr'] . ' Besteld.';
}
}
}
?>
<form action="" method="post">
<label>Bananen</label>
<input type="number" name="article[0][aantal]" value="0" />
<input type="hidden" name="article[0][artnr]" value="375" />
<label>Appelen</label>
<input type="number" name="article[1][aantal]" value="0" />
<input type="hidden" name="article[1][artnr]" value="376" />
<label>Peren</label>
<input type="number" name="article[2][aantal]" value="0" />
<input type="hidden" name="article[2][artnr]" value="377" />
<button type="submit">Bestellen</button>
</form>
echo '<pre>';
print_r($_POST);
echo '</pre>';
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
foreach($_POST['article'] as $article) {
if($article['aantal'] > 0) {
echo 'U heeft ' . $article['aantal'] . ' stuks artikel ' . $article['artnr'] . ' Besteld.';
}
}
}
?>
<form action="" method="post">
<label>Bananen</label>
<input type="number" name="article[0][aantal]" value="0" />
<input type="hidden" name="article[0][artnr]" value="375" />
<label>Appelen</label>
<input type="number" name="article[1][aantal]" value="0" />
<input type="hidden" name="article[1][artnr]" value="376" />
<label>Peren</label>
<input type="number" name="article[2][aantal]" value="0" />
<input type="hidden" name="article[2][artnr]" value="377" />
<button type="submit">Bestellen</button>
</form>
Gewijzigd op 05/03/2015 19:24:57 door Frank Nietbelangrijk