2011-04-07 4 views
1

J'essaie de valider une boîte de texte de formulaire en utilisant jquery validator, cela fonctionne très bien avec les formulaires zend-framwork mais cela ne fonctionne pas avec n'importe quelle forme HTML et voici le code: 1) c'est le script dans la page html:jquery validator Formulaire HTML

<script> 
    $("#newsletter").validate({ 
     rules: { 
      newsletter_input:{ 
       email: true 
      } 
     } 
    }); 
</script> 

2) ceci est la forme:

<form id="newsletter"> 
    <input type="text" name="newsletter-input" id="newsletter_input" class="clickable_search email " title="enter your e-mail" value="enter your email" /> 
    <input type="submit" value="" id="newsletter-submit" /> 
    </form> 

ce que je suis absent ici ???

Répondre

0
<form id ="myform"> 
<input type="text" name="newsletter" id="newsletter" class="clickable_search required email " title="أدخل البريد الإلكتروني" value="أدخل البريد الإلكتروني" /> 
<input type="submit" value="" id="newsletter-submit" /> 
</form> 
<script> 
    $(document).ready(function(){ 
    $("#myform").validate({ 
    rules: { 
    field: { 
    required: true, 
    email: true 
    } 
    } 
    }); 
    }); 
    </script> 

c'est la seule façon qui a travaillé avec moi pour mettre un id sur le formulaire

0
<script> 
$("#newsletter-submit").click(function() { 
    $("#newsletter").validate({ 
     .. 
    }); 
}); 
</script> 
0

La propriété règles de l'objet validate travaille sur la propriété du nom de l'élément, et non l'identifiant, donc votre code de script doit être:

<script> 
    $(document).ready(function() { 
     $("#newsletter").validate({ 
      rules: { 
       "newsletter-input":{ 
        email: true 
       } 
      } 
     }); 
    }); 
</script> 

Notez le - non _.

Notez également qu'en raison du tiret dans le nom du champ, qui n'est pas un identifiant javascript légal, vous devrez citer le nom du champ pour que la règle fonctionne.

Personnellement, j'éviter d'utiliser des tirets dans les propriétés name et id et utiliser le cas Camel au lieu

+0

j'ai changé le nom et éviter tous les tirets et encore même problème ne validant pas – haider

+0

Juste remarqué que vous manque également le document crochet d'événement prêt. –

1

Vous incluez le script jQuery sur la page?

Essayez simplement:

<script> 
$(document).ready(function() { 
    $("#newsletter").validate(); 
}); 
</script> 

Et ajouter required comme une classe à l'entrée e-mail newsletter.

<form id="newsletter"> 
<input type="text" name="newsletter-input" id="newsletter_input" class="clickable_search email required" title="enter your e-mail" value="enter your email" /> 
<input type="submit" value="Submit" id="newsletter-submit" /> 
</form> 

Cela devrait fonctionner.