Form submit
zit met een klein probleempje,
ik heb een form dat ik eerst valideer voordat ik het safe,
de form wordt dus eerst gevalideerd met jquery en daarna wordt via de normale POST functie alles naar de database gestuurd.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript">
$( document ).ready(function() {
$( '#klassen' ).focus();
$("#ts").on("submit", function(event) {
event.preventDefault();
var kl = $('#klassen');
//VALIDATIE
$(this).off("submit");
this.submit();
});
});</script>
$( document ).ready(function() {
$( '#klassen' ).focus();
$("#ts").on("submit", function(event) {
event.preventDefault();
var kl = $('#klassen');
//VALIDATIE
$(this).off("submit");
this.submit();
});
});</script>
Alles werkt goed, alleen moet ik telkens 2 keer op de submit button drukken vooraleer het wil werken,
kan iemand mij helpen?
Alvast bedankt!
Gewijzigd op 10/09/2014 22:29:53 door Jos Verstraeten
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
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
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<form id="myForm">
<span id="name-error"></span> <!-- LEGE SPAN DIE WE LATER VULLEN MET EEN FOUTMELDING INDIEN NODIG -->
Naam: <input type="text" id="name" name="name"><br/>
<button type="button" id="send" >Verzenden</button> <!-- HIER GEEN SUBMIT MAAR EEN GEWONE BUTTON! -->
</form>
<script type="text/javascript">
// Deze functie valideert het formulier.
function validate() {
if($('#name').val().length == 0) {
// VUL DE SPAN MET EEN FOUTMELDING
$('#name-error').html('<strong>Vul uw naam in!</strong><br>');
return false; // validatie mislukt, verlaat deze functie
}
return true; // validatie geslaagd.
}
$(document).ready(function() {
// indien er op VERZENDEN wordt geklikt
$('#send').click(function(e) {
// voordat we het formulier versturen eerst even valideren
if(validate())
$( "#myForm" ).submit();
});
});
</script>
</body>
</html>
<html>
<head>
<meta charset="utf-8">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<form id="myForm">
<span id="name-error"></span> <!-- LEGE SPAN DIE WE LATER VULLEN MET EEN FOUTMELDING INDIEN NODIG -->
Naam: <input type="text" id="name" name="name"><br/>
<button type="button" id="send" >Verzenden</button> <!-- HIER GEEN SUBMIT MAAR EEN GEWONE BUTTON! -->
</form>
<script type="text/javascript">
// Deze functie valideert het formulier.
function validate() {
if($('#name').val().length == 0) {
// VUL DE SPAN MET EEN FOUTMELDING
$('#name-error').html('<strong>Vul uw naam in!</strong><br>');
return false; // validatie mislukt, verlaat deze functie
}
return true; // validatie geslaagd.
}
$(document).ready(function() {
// indien er op VERZENDEN wordt geklikt
$('#send').click(function(e) {
// voordat we het formulier versturen eerst even valideren
if(validate())
$( "#myForm" ).submit();
});
});
</script>
</body>
</html>
Bedankt, heb het zo in die richting aangepast en werkt perfect!
Jos Verstraeten op 10/09/2014 19:59:59:
de form wordt dus eerst gevalideerd met jquery en daarna wordt via de normale POST functie alles naar de database gestuurd.
Je controleert toch, hopelijk, ook voor je naar de database stuurt de input van de gebruiker met php?!
ja, wordt nog nagekeken met mysql real escape, isset en of het voldoet aan kenmerken, datum juiste formaat, ...