La sélection de vide de saisie de texte à l'aide de jQuery

Comment puis-je identifier les zones de texte vides à l'aide de jQuery? Je voudrais le faire en utilisant les sélecteurs si il est possible de tout. Aussi, je dois sélectionner l'id depuis dans le code réel où je veux l'utiliser je ne veux pas sélectionner tout le texte d'entrées.

Dans mes deux exemples de code suivants la première affiche avec précision la valeur saisie dans la zone de texte "txt2" par l'utilisateur. Le deuxième exemple indique qu'il existe une zone de texte vide, mais si vous le remplissez en elle la considère encore comme vide. Pourquoi est-ce?

Cela peut-il être réalisés en utilisant les sélecteurs?

Ce code les rapports de la valeur dans la zone de texte "txt2":

<html>
    <head>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(function() {
                $('#cmdSubmit').click(function() {
                    alert($('[id=txt2]').val());
                });             
            });
        </script>
    </head>
    <body>
        <form>
            <input type="text" name="txt1" id="txt1" value="123" /><br />
            <input type="text" name="txt2" id="txt2" value="" /><br />
            <input type="text" name="txt3" id="txt3" value="abc" /><br />
            <input type="submit" name="cmdSubmit" id='cmdSubmit' value="Send" /><br />
        </form>
    </body>
</html>

Ce code signale toujours textbox "txt2" vides:

<html>
    <head>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(function() {
                $('#cmdSubmit').click(function() {
                    if($('[id^=txt][value=""]').length > 0) {
                        if (!confirm("Are you sure you want to submit empty fields?")) {
                            if (event.preventDefault) {
                                event.preventDefault();
                            } else {
                                event.returnValue = false;
                            }
                        }
                    }
                });             
            });
        </script>
    </head>
    <body>
        <form>
            <input type="text" name="txt1" id="txt1" value="123" /><br />
            <input type="text" name="txt2" id="txt2" value="" /><br />
            <input type="text" name="txt3" id="txt3" value="abc" /><br />
            <input type="submit" name="cmdSubmit" id='cmdSubmit' value="Send" /><br />
        </form>
    </body>
</html>
  • Personne ne sait si " [value=]' ignore la saisie de l'utilisateur et vérifie seulement ce qui est dans la source?
  • Suis-je en droit que l' :filtre vide est fait pour ce travail? $('input[type=text]:vide').doStuff();
  • lire les docs - docs.jquery.com/Selectors/empty. Vide est pour les éléments qui n'ont pas d'enfants, PAS de valeur
  • ce serait formidable si
InformationsquelleAutor Cros | 2009-08-19