in mijn site heb ik de volgende code staan :
$("form").submit(function(){
var errorMessage = "Gelieve volgende velden in te vullen of de problemen op te lossen vooraleer verder te gaan : \n\n";
var err = 0;
if ($("#kastnaam").val() == "") {
errorMessage = errorMessage + " - Kast naam \n";
err = 1;
}
Op het moment van submit wordt mijn veld kastnaam gecheckt (die is leeg) en krijg ik idd de foutmelding dat ik het veld moet invullen.
Aangezien ik in mijn form zo een dikke 40 velden check, met een veel te lange jQuery code als gevolg, dacht ik zo slim te zijn dit te moven naar een functie alsvolgt :
<script>
function checkValue(fieldname, fieldtype, message) {
switch(fieldtype) {
case "T" :
if ($("#" + fieldname).val() == '') {
errorMessage = errorMessage + " - " + message + " \n";
err = 1;
}
break;
}
}
$(document).ready(function(){
$("form").submit(function(){
checkValue("kastnaam", "T", "Kast naam");
window.alert(err);
}
}
Er gebeuren nu echter twee heel bizarre dingen :
1. De code in de case wordt NIET gezien als een leeg veld. Nochthans als ik een alert doe van de val waarde, dan toont deze een lege waarde.
2. In de onderstaande window.alert krijg ik een 0 te zien. Dit komt waarschijnlijk doordat ik de variabelen op een verkeerde plaats maak ?
Wie heeft wat hulp voor me ?
Vriendelijke groeten en alvast bedankt,
Davy
[size=xsmall]Toevoeging op 22/10/2013 19:43:17:[/size]
Hallo allemaal,
ik was misschien wat te snel om deze te plaatsen, want ik denk dat ik de oplossing al gevonden heb.
Ik heb de code nu alsvolgt aangepast :
<script language="javascript">
var errorMessage = "Gelieve volgende velden in te vullen of de problemen op te lossen vooraleer verder te gaan : \n\n";
var err = 0;
function checkValue(fieldname, fieldtype, message) {
switch(fieldtype) {
case "T" :
if ($("#" + fieldname).val() == "") {
errorMessage += " - " + message + " \n";
err = 1;
}
break;
case "N" :
if ($("#" + fieldname).val() == "") {
errorMessage += " - " + message + " \n";
err = 1;
}
else {
if (!$.isNumeric($("#" + fieldname).val())) {
errorMessage += " - " + message + " moet numeriek zijn \n";
err = 1;
}
}
break;
}
}
</script>
<script>
$(document).ready(function(){
$("form").submit(function(){
checkValue("kastnaam", "T", "Kast naam");
checkValue("aantal", "N", "Aantal");
}
}
</script>
Het enige nadeel wat ik er terug in vind is dat ik in de uiteindelijk check op het einde de waarde van errorMessage en err terug op de initiele waarden moet zetten :
if (err == 1) {
alert(errorMessage);
errorMessage = "Gelieve volgende velden in te vullen of de problemen op te lossen vooraleer verder te gaan : \n\n";
err = 0;
return false;
}
else return true;
});
Groetjes,
Davy