select on change

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mitchel V

Mitchel V

17/06/2010 18:32:12
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<form method="post" name="iets" id="iets">
<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?
 
PHP hulp

PHP hulp

22/11/2024 20:54:25
 
- SanThe -

- SanThe -

17/06/2010 18:37:56
Quote Anchor link
<select name="aantal" onchange="this.form.submit()">
Gewijzigd op 17/06/2010 18:39:10 door - SanThe -
 
Mitchel V

Mitchel V

17/06/2010 18:56:04
Quote Anchor link
ik heb nu:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>


Maar dit werkt ook niet...
 
- SanThe -

- SanThe -

17/06/2010 18:57:42
Quote Anchor link
Wat werkt er niet? Hoe haal je het op?
<option value=".....">......</option>
 
Mark L

Mark L

17/06/2010 19:00:15
Quote Anchor link
Bij mij werkt het gewoon hoor. Als ik het test op de W3Schools doet de oplossing van SanThe het gewoon. Welk browser gebruik je? Hier kan het uiteraard ook aan liggen. Ikzelf gebruik Firefox.

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
 
Mitchel V

Mitchel V

17/06/2010 19:02:47
Quote Anchor link
Ik gebruik Safari
 
- Mark -

- Mark -

17/06/2010 19:09:56
Quote Anchor link
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.
 
Mitchel V

Mitchel V

17/06/2010 19:18:17
Quote Anchor link
ik heb het probleem gevonden denk ik...

include('config.php');

als ik die weg haal dan doet hij het wel...

config.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>


wat is daar dan fout?
 

17/06/2010 19:35:47
Quote Anchor link
Bouw eens foutafhandeling in.
 
Mitchel V

Mitchel V

17/06/2010 21:42:14
Quote Anchor link
Er is totaal niets mis met de config.
of heb je het over de foutafhandeling op de pagina waar select staat?
 
Jan Koehoorn

Jan Koehoorn

17/06/2010 21:45:21
Quote Anchor link
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.
 
Mitchel V

Mitchel V

17/06/2010 23:35:35
Quote Anchor link
Als ik de config er uit haal dan doet hij het wel :S

test.php:
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
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>&euro; <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'].' | &euro; '.$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>'
;
?>
 
- SanThe -

- SanThe -

17/06/2010 23:51:39
Quote Anchor link
Als de select het formulier post zal $_POST['submit'] niet geset zijn.

Gebruik niet
if(isset($_POST['submit'])){
maar
if($_SERVER['REQUEST_METHOD'] == 'POST')
 
Mitchel V

Mitchel V

18/06/2010 00:06:42
Quote Anchor link
Ok ik heb dit verandert maar dit lost mijn probleem niet op :(
 
- SanThe -

- SanThe -

18/06/2010 00:15:33
Quote Anchor link
Wat werkt er niet en wat wel?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

// rest van je script
?>
 
Mitchel V

Mitchel V

18/06/2010 00:23:21
Quote Anchor link
De error_reporting zeurt alleen over de legen waardes...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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


maar dit kan het script niet "killen" want zonder de config doet hij het wel.
maar dan niet het uitlezen van de SQL natuurlijk
 
- SanThe -

- SanThe -

18/06/2010 00:35:39
Quote Anchor link
Hier doet ie het ook met die include er bij.
Inderdaad wel de errors omdat ik geen database heb.
 
Mitchel V

Mitchel V

18/06/2010 00:40:02
Quote Anchor link
Probeer eens MET database?

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
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, '&euro; 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
 
- SanThe -

- SanThe -

18/06/2010 01:11:40
Quote Anchor link
Inderdaad met de database er aan doet ie het niet meer.
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 -
 
Mitchel V

Mitchel V

18/06/2010 15:18:49
Quote Anchor link
De opzet is dat ik meerdere producten kan toevoegen aan een factuur...
maar het moet dan maar via het verzenden knop.
bedankt voor de moeite!
 



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.