2009-07-20 11 views
0

Sur ma forme je dois effectuer une tâche où un message apparaît si un utilisateur correspond aux critères d'entrée pour gagner un prix. Fondamentalement, s'ils ont un certain code postal, ce message doit apparaître. Si ce n'est pas le cas, le message n'apparaît pas. J'ai besoin que cela se produise quand ils cliquent sur soumettre. J'ai écrit une regex pour les codes postaux.conseils sur JQuery UI Dialog

J'ai utilisé le plugin Validate pour effectuer toutes les validations mais j'ai regardé Dialog pour le message. Les deux peuvent-ils travailler ensemble? Ai-je besoin de faire quelque chose de spécial au code pour pouvoir utiliser les deux? Certaines personnes ont mentionné l'utilisation de submitHandler sur le plugin validate serait-ce plus facile? Je ne suis pas sûr de savoir comment écrire le code.

Existe-t-il une méthode que je peux utiliser dans le dialogue pour que la boîte n'apparaisse pas tout le temps et seulement quand ils ont un certain code postal? Aussi à partir de la boîte de dialogue, j'ai besoin que le formulaire soit envoyé au serveur. Est-ce réalisable?

Je suis très nouveau à JavaScript et même plus récent à JQuery alors quelqu'un peut-il répondre comme s'ils parlaient à un mannequin s'il vous plaît? Juste pour que je puisse comprendre ce qui doit être fait.

Merci

Répondre

1

Vous pouvez utiliser l'option invalidHandler pour afficher la boîte de dialogue. L'option submitHandler est utilisée pour exécuter du code personnalisé s'il n'y a pas d'erreurs de validation.

$('form').validate({ 
    invalidHandler: function (form, validator) { 
     if (...) { // check if postcode is wrong 
      $('#dialog').dialog(); // show the dialog 
     } 
    } 
}); 
+0

Ce code pourrait-il entrer dans votre code ou dois-je écrire quelque chose de spécial? var spécial = /^[TA]{2}([1-15]|20|25){1,2}\s\d{1,2}[AZ]{2}$/.test(value) si (spécial) { alerte ("Vous avez gagné un prix"); } Évidemment, cela utilise une alerte plutôt qu'une boîte de dialogue. –