2009-08-26 6 views
0

Donc, j'essaie d'effectuer une validation de base pour vérifier si un champ est vide. Je veux le faire dans une boucle ..Question de validation/javascript de base

<input type="text" size="25" name="q170_Name" class="text" value="" id="q170" maxlength="100" maxsize="100" /> 

function validateMe() { 
var dropdowns = ["q170","q172","q173","q174","q175","q176","q177"]; 
var totalz = (dropdowns.length); 
//loop through the array 
for (var i in dropdowns) { 
    if (document.getElementById(dropdowns[i]) == "") { 
     alert('missed one!'); 
}}} 

J'apprécie l'aide

Répondre

0

Je vous recommande de faire une boucle simple car for..in est destiné à itérer sur les propriétés de l'objet, notez aussi que vous n Vérifie l'attribut de valeur des champs:

function validateMe() { 
    var dropdowns = ["q170","q172","q173","q174","q175","q176","q177"], 
     totalz = dropdowns.length, 
     i; 

    for (i = 0; i < totalz; i++) { 
    if (document.getElementById(dropdowns[i]).value == "") { 
     alert('Check the value of ' + dropdowns[i]); 
    } 
    } 
} 
1
if (document.getElementById(dropdowns[i]).value == "") { 
     alert('missed one!'); 

--edit

mais probablement il y a une meilleure façon de le faire:

for (var i = 0; i < document.myFormName.length; ++i) { 
    if( document.myFormName.elements[i].type == "text" && 
     document.myFormName.elements[i].value == "") { 
    alert('missed one!'); 
    } 
} 
Questions connexes