select on change
Code (php)
1
2
2
<form method="post" name="iets" id="iets">
<select name="aantal" onChange="document.getElementById(\'iets\').submit();">';
<select name="aantal" onChange="document.getElementById(\'iets\').submit();">';
Dit werkt niet.
ik wil graag dat hij het formulier verzend nadat hij iets anders selecteerd..
ik heb dit gevonden, maar het werkt niet... hoe moet ik dat dan doen?
Gewijzigd op 17/06/2010 18:39:10 door - SanThe -
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<form method="post" name="iets" id="iets">
<select name="aantal" onchange="this.form.submit()">
<option>1</option>
<option>2</option>
</select>
</form>
<select name="aantal" onchange="this.form.submit()">
<option>1</option>
<option>2</option>
</select>
</form>
Maar dit werkt ook niet...
<option value=".....">......</option>
Heb je er ook wel een goede action-attribute in? Je formulier moet wel ergens naar verzonden worden.
Gewijzigd op 17/06/2010 19:01:23 door Mark L
Ik gebruik Safari
Net even getest, De code van SanThe werkt in Safari bij mij. Let er wel op dat je de eerste waarde op deze manier niet kunt kiezen, zet er een " selecteer whatever " bij of zo.
include('config.php');
als ik die weg haal dan doet hij het wel...
config.php
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$db_user = "**********";
$db_pass = "**********";
$db_host = "**********";
$db_db = "**********";
mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_db);
?>
$db_user = "**********";
$db_pass = "**********";
$db_host = "**********";
$db_db = "**********";
mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_db);
?>
wat is daar dan fout?
Bouw eens foutafhandeling in.
of heb je het over de foutafhandeling op de pagina waar select staat?
Even in het algemeen; het is verstandig om je JavaScript en je XHTML gescheiden te houden. Lees iets over het event registering model in JS. In het voorbeeld kun je altijd maar 1 functie aan 1 even koppelen. Verder is het overzichtelijker.
test.php:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
//include('config.php');
if(isset($_POST['submit'])){
if($_POST['aantal'] != $_POST['aantaloud']){
echo 'Nummer verandert!';
}else{
echo 'Submit!';
}
}
if($_POST['aantal'] == ""){
$_POST['aantal'] = 1;
}
echo '<center>
<form method="post" name="iets" id="iets">
<input type="hidden" name="aantaloud" value="'.$_POST['aantal'].'">
<table width="90%">
<tr>
<td colspan="5">Aantal producten: <select name="aantal" onchange="this.form.submit()">';
for ($ap = 1; $ap <= 20; $ap++) {
if($_POST['aantal'] == $ap){
echo '<option SELECTED>'.$ap.'</option>';
}else{
echo '<option>'.$ap.'</option>';
}
}
echo '
</select>'.$_POST['aantal'].'</td>
</tr>
<tr>
<td></td>
<td>Product</td>
<td>Omschrijving</td>
<td width="100px">Prijs</td>
<td width="5px"><center>Aantal</center></td>
</tr>';
for ($i = 1; $i <= $_POST['aantal']; $i++) {
echo '<tr>
<td>'.$i.'</td>
<td><input type="text" name="product'.$i.'" value="'.$_POST['product'.$i].'" size="30"></td>
<td><input type="text" name="omschrijving'.$i.'" value="'.$_POST['omschrijving'.$i].'" size="35"></td>
<td>€ <input type="text" name="prijs'.$i.'" value="'.$_POST['prijs'.$i].'" size="10"></td>
<td><input type="text" name="aantal'.$i.'" value="'.$_POST['aantal'.$i].'" size="5"></td>
</tr>
<tr>
<td>of</td><td><select name="anders'.$i.'">';
$sqlp = "SELECT * FROM product ORDER BY productid";
$queryp = mysql_query($sqlp) or die (mysql_error ());
if(mysql_num_rows($queryp) == 0){
echo '<option value="">Geen producten gevonden.</option>';
}else{
echo '<option value="">Selecteer product.</option>';
while($rowp = mysql_fetch_assoc($queryp)){
echo '<option value="'.$rowp['productid'].'">'.$rowp['omschrijving'].' | € '.$rowp['prijs'].'</option>';
}
}
echo '</select></td>
<td colspan="2"></td>
<td><input type="text" name="andersaantal'.$i.'" value="'.$_POST['aantal'.$i].'" size="5"></td>
</tr>';
}
echo '<tr><td colspan="1"></td><td colspan="4"><input type="submit" name="submit" value="Verstuur"></td></tr>
</table>
</form>
</center>';
?>
//include('config.php');
if(isset($_POST['submit'])){
if($_POST['aantal'] != $_POST['aantaloud']){
echo 'Nummer verandert!';
}else{
echo 'Submit!';
}
}
if($_POST['aantal'] == ""){
$_POST['aantal'] = 1;
}
echo '<center>
<form method="post" name="iets" id="iets">
<input type="hidden" name="aantaloud" value="'.$_POST['aantal'].'">
<table width="90%">
<tr>
<td colspan="5">Aantal producten: <select name="aantal" onchange="this.form.submit()">';
for ($ap = 1; $ap <= 20; $ap++) {
if($_POST['aantal'] == $ap){
echo '<option SELECTED>'.$ap.'</option>';
}else{
echo '<option>'.$ap.'</option>';
}
}
echo '
</select>'.$_POST['aantal'].'</td>
</tr>
<tr>
<td></td>
<td>Product</td>
<td>Omschrijving</td>
<td width="100px">Prijs</td>
<td width="5px"><center>Aantal</center></td>
</tr>';
for ($i = 1; $i <= $_POST['aantal']; $i++) {
echo '<tr>
<td>'.$i.'</td>
<td><input type="text" name="product'.$i.'" value="'.$_POST['product'.$i].'" size="30"></td>
<td><input type="text" name="omschrijving'.$i.'" value="'.$_POST['omschrijving'.$i].'" size="35"></td>
<td>€ <input type="text" name="prijs'.$i.'" value="'.$_POST['prijs'.$i].'" size="10"></td>
<td><input type="text" name="aantal'.$i.'" value="'.$_POST['aantal'.$i].'" size="5"></td>
</tr>
<tr>
<td>of</td><td><select name="anders'.$i.'">';
$sqlp = "SELECT * FROM product ORDER BY productid";
$queryp = mysql_query($sqlp) or die (mysql_error ());
if(mysql_num_rows($queryp) == 0){
echo '<option value="">Geen producten gevonden.</option>';
}else{
echo '<option value="">Selecteer product.</option>';
while($rowp = mysql_fetch_assoc($queryp)){
echo '<option value="'.$rowp['productid'].'">'.$rowp['omschrijving'].' | € '.$rowp['prijs'].'</option>';
}
}
echo '</select></td>
<td colspan="2"></td>
<td><input type="text" name="andersaantal'.$i.'" value="'.$_POST['aantal'.$i].'" size="5"></td>
</tr>';
}
echo '<tr><td colspan="1"></td><td colspan="4"><input type="submit" name="submit" value="Verstuur"></td></tr>
</table>
</form>
</center>';
?>
Gebruik niet
if(isset($_POST['submit'])){
maar
if($_SERVER['REQUEST_METHOD'] == 'POST')
Ok ik heb dit verandert maar dit lost mijn probleem niet op :(
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// rest van je script
?>
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
// rest van je script
?>
Code (php)
1
2
3
4
5
2
3
4
5
Notice: Undefined index: aantal in test2.php on line 14
Notice: Undefined index: product1 in test2.php on line 47
Notice: Undefined index: omschrijving1 in test2.php on line 48
Notice: Undefined index: prijs1 in test2.php on line 49
Notice: Undefined index: aantal1 in test2.php on line 50
Notice: Undefined index: product1 in test2.php on line 47
Notice: Undefined index: omschrijving1 in test2.php on line 48
Notice: Undefined index: prijs1 in test2.php on line 49
Notice: Undefined index: aantal1 in test2.php on line 50
maar dit kan het script niet "killen" want zonder de config doet hij het wel.
maar dan niet het uitlezen van de SQL natuurlijk
Inderdaad wel de errors omdat ik geen database heb.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE `product` (
`productid` int(55) NOT NULL AUTO_INCREMENT,
`omschrijving` varchar(225) NOT NULL,
`prijs` varchar(55) NOT NULL,
PRIMARY KEY (`productid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
--
-- Gegevens worden uitgevoerd voor tabel `product`
--
INSERT INTO `product` VALUES(1, 'raam 2,35x10', '1251,00');
INSERT INTO `product` VALUES(2, 'kozijn 2x2', '850,00');
INSERT INTO `product` VALUES(3, 'Deur hollandprofiel', '1750,00');
INSERT INTO `product` VALUES(4, '€ 100 korting', '-100');
`productid` int(55) NOT NULL AUTO_INCREMENT,
`omschrijving` varchar(225) NOT NULL,
`prijs` varchar(55) NOT NULL,
PRIMARY KEY (`productid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
--
-- Gegevens worden uitgevoerd voor tabel `product`
--
INSERT INTO `product` VALUES(1, 'raam 2,35x10', '1251,00');
INSERT INTO `product` VALUES(2, 'kozijn 2x2', '850,00');
INSERT INTO `product` VALUES(3, 'Deur hollandprofiel', '1750,00');
INSERT INTO `product` VALUES(4, '€ 100 korting', '-100');
Terinfo: De producten en prijzen zijn NEP, alleen maar een voorbeeld.
Gewijzigd op 18/06/2010 00:41:02 door Mitchel V
Ben aan het kijken.
Edit: Ik kom er niet uit en ik snap ook de opzet van je formulier niet helemaal.
Gewijzigd op 18/06/2010 02:00:17 door - SanThe -
maar het moet dan maar via het verzenden knop.
bedankt voor de moeite!