Faire une soumission cliquable une fois les validations réalisées

J’ai le code HTML suivant:

Genre: {{ create_production_form.genre }}

Privacy: {{ create_production_form.privacy }}

Comment rendre le next bouton cliquable uniquement après avoir renseigné Genre et Confidentialité? Par exemple, quelque chose comme:

 if ($("id_genre").val() && $("id_privacy").val()) { $("input[name=next]").attr("disabled","") } 

La seule chose à faire est qu’il doit être “en direct” pour pouvoir détecter le moment où tous ces champs sont remplis.

Wut? L’événement gère la délégation. Par conséquent, le gestionnaire d’événement doit avoir live() ou on() selon la version de jQuery que vous utilisez. Cela signifie qu’un élément essentiel de l’équation a été laissé de côté.

Les méthodes d’événement dont je parle sont les suivantes: submit , change ou click . Vous devez déléguer le code à l’un de ces événements – à l’aide des méthodes live() ou on() susmentionnées.

Sinon, si vous cherchez simplement à les activer si les données ont été volées.

 $('form :input').change(function(){ if ($("id_genre").val() && $("id_privacy").val()) { $("input[name=next]").attr("disabled","") } }); 

Ceci vérifiera le formulaire pour voir si les entrées changent, si elles le font, les valeurs seront testées et vous obtiendrez votre résultat.

En supposant qu’il s’agisse de deux entrées de texte, vous pouvez valider sur la keyup , sinon la validation sur le change fonctionnerait également.

essayez d’utiliser en vol stationnaire parce que l’utilisateur doit survoler le bouton avant de cliquer, j’espère que cela aide

 $("input[name=next]").hover(function() { if ($("id_genre").val()!="" && $("id_privacy").val()!="") { $("input[name=next]").removeAttr("disabled") } }); 
  $('form').change(function() { if ($("id_genre").val().length > 0 && $("id_privacy").val().length > 0) { $("input[type='submit']").prop("disabled", false) } }) 

Démo http://jsfiddle.net/8AtAz/1/

Dans la démo, lorsque vous cliquerez sur le bouton valide, le bouton suivant sera activé: Merci de savoir si j’ai manqué un point.

code

 $("input[type='submit']").prop('disabled', true); $("#valid").click(function() { $("input[type='submit']").prop('disabled', false); })​ 

OU dans votre cas

  if ($("id_genre").val() != "" && $("id_privacy").val() != "") { $("input[type='submit']").prop("disabled", false) }