2010-03-26 5 views
0

J'ai une case à cocher avec identifiant terms et un bouton soumettre sous ma forme avec classe registration. Je voudrais le bouton soumettre à désactiver un premier temps, puis à basculée sur et en dehors chaque fois que la bascule utilisateur et désactiver la case à cocher termes. Je voudrais également avoir un bouton pop-up quand soumettre de dialogue de confirmation est cliqué et que si elle est confirmée, le bouton d'envoi sera à nouveau désactivé (pour éviter un clic en double). Je l'ai obtenu la dernière partie et la première (je pense) travail partiel, mais je ne peux pas comprendre comment obtenir le travail du basculement. C'est ce que j'ai pour le moment:JQuery: Basculer bouton soumettre selon si les conditions sont d'accord avec ou non

$(document).ready(function() { 

    // Disable submit button initially 
    $('form.registration input[type=submit]').attr('disabled', 'disabled'); 

    // Toggle submit button whenever the terms are accepted or rejected 
    $('#terms').change(function() { 

     if($('#terms:checked').val() !== null) 
      $('input[type=submit]', this).attr('disabled', ''); 
     else 
      $('input[type=submit]', this).attr('disabled', 'disabled'); 

    }); 

    // Ask for confirmation on submit and disable submit button if ok 
    $('form.registration').submit(function() { 

     if(confirm('Have you looked over your registration? Is everything correct?')) { 
      $('input[type=submit]', this).attr('disabled', 'disabled'); 
      return true; 
     } 

     return false; 

    }); 

}); 

Quelqu'un pourrait-il m'aider à faire ce travail? Je suis un nouveau JQuery en ce moment, donc toutes les simplifications et corrections sont les bienvenues.

Répondre

3

Cette partie:

$('#terms').change(function() { 
    if($('#terms:checked').val() !== null) 
     $('input[type=submit]', this).attr('disabled', ''); 
    else 
     $('input[type=submit]', this).attr('disabled', 'disabled'); 
}); 

regardera seulement un bouton soumettre dans l'élément #terms (qui est la partie , this). Je pense que c'est ce que vous voulez:

$('#terms').change(function() { 
    $('input[type=submit]').attr('disabled', !$(this).is(':checked')); 
}); 
+0

Theeere we go! Merci =) – Svish

+0

Il ne fonctionne pas dans IE7/8, même après avoir ces deux lignes en haut de la page: raja777m

Questions connexes