2010-08-06 5 views
2

Existe-t-il un moyen "simple" de s'assurer que TOUTES les entrées d'un formulaire ont "une entrée". J'ai besoin/je veux désactiver le bouton de soumission à moins que toutes les entrées aient une valeur elles sont toutes en entrée type = texte. Je suppose que c'est quelque chose comme pour chacun mais je ne suis pas très bon pour chacun dans JQuery. Le problème possible est que les entrées sont "dynamiquement" générées par des sortables? Tout ce que j'ai besoin de savoir, c'est qu'il y a une valeur dans chaque champ de saisie. La validation "réelle" est faite ailleurs.Formulaire Jquery: entrée

Est-il quelque chose comme:

$j('#button').click(function(){ 
each(function(:input){ 
//check the length in here? 
}); 
}); 

Répondre

1
$("#button").click(function(event) { 
    var valid = true; 
    $(":input").each(function(index) { 
     if ($(this).val().length == 0) { 
      valid = false; 
     } 
    }); 
    if (!valid) { 
     event.preventDefault(); 
    } 
}); 

Devrait fonctionner.

La première partie saisit l'élément avec id de button, puis affecte une fonction à l'événement onclick. La deuxième partie saisit tous les champs d'entrée et exécute une fonction sur chacun d'eux. Ensuite, vous obtenez la longueur de la valeur pour chacun.

Le $(this) fonctionne puisque la fonction est appliquée à un élément spécifique de la page et vous obtiendra toujours l'élément en cours.

+0

Salut Slokun, comme vous l'avez dit "devrait fonctionner" peut-être il fait avec "correct" Jquery, mais je ne peux pas le faire - totalement travailler. J'ai essayé un certain nombre de choses/variations mais le moment j'utilise if (! Valide) alors la page entière se régénère etc. Je ne peux pas obtenir un résultat de if (! Valid) {alert ('this')} else {alert (' ça ')} Je reçois toujours la "fausse" déclaration. La première partie fonctionne, je sais que ça va continuer à jouer ... Merci – user351657

+0

Oh devait changer en $ j ("# tstform: input [type = 'text']"). Each (fonction (index) {. .. comme il se déclenche pour "chaque" forme sur la page – user351657

+0

@russp Alors, cela a-t-il fonctionné avec le sélecteur différent? Et oui, si vous ne spécifiez pas le formulaire dans lequel les entrées sont, il va tout saisir sur la page . – Tarka

Questions connexes