Moven van een check naar een functie geeft een andere (foute) reactie. Hoe dit aanpakken ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Davy Carmans

Davy Carmans

22/10/2013 19:25:22
Quote Anchor link
Hoi allemaal,

in mijn site heb ik de volgende code staan :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
$("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 :

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

Toevoeging op 22/10/2013 19:43:17:

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 :

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
<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 :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
      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
Gewijzigd op 22/10/2013 21:26:24 door Davy Carmans
 
PHP hulp

PHP hulp

17/11/2024 20:43:50
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

22/10/2013 19:46:46
Quote Anchor link
Davy, wil je programma code tussen [code] en [/code] plaatsen. Dat maakt het voor ons beter leesbaar.

Toevoeging op 22/10/2013 19:51:30:

Overigens een variabele die niet geset is vang je in JS af met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if (typeof variabele == "undefined")
Gewijzigd op 22/10/2013 19:52:19 door Ger van Steenderen
 
Davy Carmans

Davy Carmans

22/10/2013 20:01:00
Quote Anchor link
Ger,

sorry voor de domme vraag, maar in mijn geval krijg ik nooit undefined terug, dus ik veronderstel dat de variabale wel herkend wordt als "ingevuld".

Of is het iets anders wat je bedoeld met "geset is" ?
Gewijzigd op 22/10/2013 21:25:01 door Davy Carmans
 

22/10/2013 21:12:26
Quote Anchor link
Ger bedoeld dat je het in je 1e bericht dmv de Wijzigen knop je script tussen code tags zet.
 
Davy Carmans

Davy Carmans

22/10/2013 21:26:51
Quote Anchor link
Voila seh, gebeurd. Sorry voor mijn dom-miteit...
 



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.