2011-07-08 2 views
0

Avoir la zone de texte a et si elle est remplie assurez-vous que la zone de texte b est remplie aussi lors d'une soumission et vice versa si la case b est remplie assurez-vous que a contient également des données. Cela peut-il être bouclé pour vérifier de nombreuses zones de texte que si la ligne a des zones de texte contient des données, vérifiez que la deuxième rangée de zones de texte contient également des données dans celles que la rangée a. Toutes les zones de texte de la rangée a n'ont pas besoin d'être remplies. Merci.Validation de la zone de texte avec javascript

Répondre

2

Votre question est un peu difficile à comprendre; Ce serait utile si vous pouviez mieux expliquer ce que vous voulez réellement. Vous n'avez pas besoin de conditions; il suffit de faire ce qui suit:

<script> 
function checkForm() { 
    if (!isEmpty(document.myForm.checkA.value) 
     && !isEmpty(document.myForm.checkB.value)) 
     return true; 
    else 
     return false; 
} 

function isEmpty(text) { 
    return text.length == 0 || !text.match(/[^\s]/)) 
} 

</script> 

<form name="myForm" onSubmit="return checkForm();"> 
    <input name="textA" type="text" /> 
    <input name="textB" type="text" /> 
    <input type="submit" value="Submit!" /> 
</form> 
+0

D'où vient la méthode magic * isEmpty *? – RobG

+0

Oups ... l'a réparé je pense. (Trop de Qt!) –

+0

Ok, mais à chaque fois que quelqu'un le fait, je dois chercher la spécification HTML5 pour voir si c'est une nouvelle méthode d'une API obscure ou non. :-) – RobG

1

Cela devrait être simple si vous utilisez un tableau pour contenir des références à vos zones de texte. Par exemple (du haut de ma tête si cela ne va pas être 100% à droite), disons que vous avez 5 à travers et 3 vers le bas:

var col = new Array(5); 
var row = new Array(3); 
col[0] = document.myForm.checkA1; 
col[1] = document.myForm.checkB1; 
// etc 

row[0] = col; 

col = new Array(5); 
col[0] = document.myForm.checkA2; 
col[1] = document.myForm.checkB2; 
// etc 

row[1] = col; 

col = new Array(5); 
col[0] = document.myForm.checkA3; 
col[1] = document.myForm.checkB3; 
// etc 

row[2] = col; 

Vous pouvez maintenant boucler sur le tableau dans row[0] et si vous trouver, par exemple, que row[0][2] a un texte que vous avez juste besoin de vérifier que row[1][2] a aussi du texte.

Questions connexes