De "Enter" toets is een probleem
Ik heb een probleem op mijn website.
Telkens iemand de enter toets indrukt terwijl hij een formulier invult denkt het programma dat het formulier is afgewerkt en verstuurd mag worden.
Ik heb gekeken bij "ISSET" maar naar ik begrijp wordt dit gebruikt als het formulier reeds verstuurd is.
Is er iemand die mij een oplossing of een tip kan geven?
Hieronder is 1 van die invulpagina's
<form action="postkode.php" method="post">
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$server = "localhost";
$user = "";
$pass = "";
$database = "plant";
$dbse = "land";
/* connectie naar mysql */
$dbh = mysql_connect($server,$user,$pass);
/* connectie met de database */
mysql_select_db($database,$dbh) or die('Database niet beschikbaar '.mysql_error());
$requete_sql = "select row_id,kode,naam,btwkd from ".$dbse." order by naam";
/* het resultaat opbouwen */
$query_result=mysql_query($requete_sql,$dbh);
echo "<center>Gelieve uw land te selecteren<br>";
echo('<select name="naam">');
while($option=mysql_fetch_array($query_result))
{
echo('<option value = "'.$option['naam'].'">'.$option['naam'].'</option>');
}
echo('</select>');
echo "<br><br>";
echo "Postkode <input type='Text' name='postkode' size=3><br><br>";
?>
$server = "localhost";
$user = "";
$pass = "";
$database = "plant";
$dbse = "land";
/* connectie naar mysql */
$dbh = mysql_connect($server,$user,$pass);
/* connectie met de database */
mysql_select_db($database,$dbh) or die('Database niet beschikbaar '.mysql_error());
$requete_sql = "select row_id,kode,naam,btwkd from ".$dbse." order by naam";
/* het resultaat opbouwen */
$query_result=mysql_query($requete_sql,$dbh);
echo "<center>Gelieve uw land te selecteren<br>";
echo('<select name="naam">');
while($option=mysql_fetch_array($query_result))
{
echo('<option value = "'.$option['naam'].'">'.$option['naam'].'</option>');
}
echo('</select>');
echo "<br><br>";
echo "Postkode <input type='Text' name='postkode' size=3><br><br>";
?>
<input type="submit" value="Versturen"></center>
Met dank bij voorbaat.
Met vriendelijke groeten,
Marc
postkode schrijf je tog met een c??
Misschien heb je iets aan hetvolgende (javascript)script:
http://www.dynamicdrive.com/dynamicindex16/disableenter.htm
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$server = "localhost";
$user = "";
$pass = "";
$database = "plant";
$dbse = "land";
/* connectie naar mysql */
$dbh = mysql_connect($server,$user,$pass);
/* connectie met de database */
mysql_select_db($database,$dbh) or die('Database niet beschikbaar '.mysql_error());
$requete_sql = "select row_id,kode,naam,btwkd from ".$dbse." order by naam";
/* het resultaat opbouwen */
$query_result=mysql_query($requete_sql,$dbh);
echo "<center>Gelieve uw land te selecteren<br>";
echo('<select name="naam">');
while($option=mysql_fetch_array($query_result))
{
echo('<option value = "'.$option['naam'].'">'.$option['naam'].'</option>');
}
echo('</select>');
echo "<br><br>";
echo "Postkode <input type='Text' name='postkode' size=3><br><br>";
?>
$server = "localhost";
$user = "";
$pass = "";
$database = "plant";
$dbse = "land";
/* connectie naar mysql */
$dbh = mysql_connect($server,$user,$pass);
/* connectie met de database */
mysql_select_db($database,$dbh) or die('Database niet beschikbaar '.mysql_error());
$requete_sql = "select row_id,kode,naam,btwkd from ".$dbse." order by naam";
/* het resultaat opbouwen */
$query_result=mysql_query($requete_sql,$dbh);
echo "<center>Gelieve uw land te selecteren<br>";
echo('<select name="naam">');
while($option=mysql_fetch_array($query_result))
{
echo('<option value = "'.$option['naam'].'">'.$option['naam'].'</option>');
}
echo('</select>');
echo "<br><br>";
echo "Postkode <input type='Text' name='postkode' size=3><br><br>";
?>
<input type="submit" value="Versturen" onkeypress="return handleEnter(this, event)"></center>
^^ jou script (maar dan goed)
<script type="text/javascript">
/***********************************************
* Disable "Enter" key in Form script- By Nurul Fadilah([email protected])
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
function handleEnter (field, event) {
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
if (keyCode == 13) {
var i;
for (i = 0; i < field.form.elements.length; i++)
if (field == field.form.elements)
break;
i = (i + 1) % field.form.elements.length;
field.form.elements.focus();
return false;
}
else
return true;
}
</script>
^^ tussenn de <head> tags neer zetten
Gewijzigd op 05/07/2005 09:15:00 door christian
christian:
Ik keek er even naar, maar heb ik dislecktie of...
postkode schrijf je tog met een c??
postkode schrijf je tog met een c??
tis inderdaad postcode, dus je hoeft niet langs de huisarts voor een test :P
ik zou __tog__ ff naar huisarts gaan !
Bedankt christian voor de tip.
Maar ik heb het uitgeprobeerd en het werkt niet.
Vanaf als ik op een veld de "Enter" toets indruk gaat ie vanzelf naar de volgende pagina, terwijl dit maar zou mogen gebeuren wanneer er op de knop gedrukt wordt van "Versturen"
Hieronder vindt u het volledige programma.
Wat heb ik fout gedaan?
<html>
<head>
<title>Leveranciersaccount aanmaken</title>
<script type="text/javascript">
/***********************************************
* Disable "Enter" key in Form script- By Nurul Fadilah([email protected])
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
function handleEnter (field, event) {
var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
if (keyCode == 13) {
var i;
for (i = 0; i < field.form.elements.length; i++)
if (field == field.form.elements)
break;
i = (i + 1) % field.form.elements.length;
field.form.elements.focus();
return false;
}
else
return true;
}
</script>
</head>
<body>
<herfst>
<img src="Aworld008.gif" border="0" width="60" height="60" <span></span><font style="font-size: 60pt">P</font><font size="5">lant</font><font style="font-size: 60pt"> A</font><font size="5">vailability</font><font style="font-size: 60pt"> S</font><font size="5">ervice</font><font style="font-size: 60pt"> S</font><font size="5">ystem</font>
<H3><U><center>Leveranciersaccount aanmaken pagina 1/3</center></U></H3>
<H5>
<form action="postkode.php" method="post" onkeypress="return handleEnter(this, event)">
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$server = "localhost";
$user = "";
$pass = "";
$database = "plant";
$dbse = "land";
/* connectie naar mysql */
$dbh = mysql_connect($server,$user,$pass);
/* connectie met de database */
mysql_select_db($database,$dbh) or die('Database niet beschikbaar '.mysql_error());
$requete_sql = "select row_id,kode,naam,btwkd from ".$dbse." order by naam";
/* het resultaat opbouwen */
$query_result=mysql_query($requete_sql,$dbh);
echo "<center>Gelieve uw land te selecteren<br>";
echo('<select name="naam">');
while($option=mysql_fetch_array($query_result))
{
echo('<option value = "'.$option['naam'].'">'.$option['naam'].'</option>');
}
echo('</select>');
echo "<br><br>";
echo "Postcode <input type='Text' name='postkode' size=3><br><br>";
?>
$server = "localhost";
$user = "";
$pass = "";
$database = "plant";
$dbse = "land";
/* connectie naar mysql */
$dbh = mysql_connect($server,$user,$pass);
/* connectie met de database */
mysql_select_db($database,$dbh) or die('Database niet beschikbaar '.mysql_error());
$requete_sql = "select row_id,kode,naam,btwkd from ".$dbse." order by naam";
/* het resultaat opbouwen */
$query_result=mysql_query($requete_sql,$dbh);
echo "<center>Gelieve uw land te selecteren<br>";
echo('<select name="naam">');
while($option=mysql_fetch_array($query_result))
{
echo('<option value = "'.$option['naam'].'">'.$option['naam'].'</option>');
}
echo('</select>');
echo "<br><br>";
echo "Postcode <input type='Text' name='postkode' size=3><br><br>";
?>
</form>
<center><input type="submit" value="Versturen" onkeypress="return handleEnter(this, event)"></center>
</H5>
</herfst>
</body>
</html>
Met vriendelijke groeten,
Marc
echo "Postcode <input type='Text' name='postkode' size=3><br><br>";
wordt dus
echo "Postcode <input type='Text' name='postkode' size=3 onkeypress=\"return handleEnter(this, event)\"><br><br>";
en
<select name="naam">
wordt dus
<select name="naam" onkeypress="return handleEnter(this, event)">
ruud:
Oké, als die niet expres was, dan moet jjij mee...ik zou __tog__ ff naar huisarts gaan !
Elwin
Bedankt Jelmer
je uitleg is de juiste.
Daarmee is mijn probleem opgelost
Tot later
Marc
Gewijzigd op 06/07/2005 18:38:00 door Marc
of je maakt een normale button met een javascriptje onclick="form.submit()" werkt veel sneller :)
Sterker nog, nu ik net bedenk, als ik die pagina bekijk op mijn pocketPc bekijk, zal hij het formulier ook niet willen verzenden. PocketIE kan namelijk niet goed javascript. (maar opent ook niet de content die tussen <noscript> staat, oftewel: totaal hopeloos programma!)
Moeten ze FireFox voor pocket Pc uitvinden ^^.
Maar gelukkig is dit nog maar versie Alfa 0.006, dus bij versie 0.1 doet alles het vast zoals het moet ^^,