2010-03-23 7 views
0

Nouveau à JQuery et se demandait comment puis-je mettre le code JQuery suivant dans une instruction if afin qu'il ne s'exécute que lorsque le bouton Soumettre est cliqué et ne fait rien quand on ne clique pas, je sais que j'utilise le $(".save-button").click(function() le mettre dans une déclaration if?JQuery if déclarations?

Code JQuery.

$(function() { 
    $(".save-button").click(function() { 
     $.post($("#contact-form").attr("action"), $("#contact-form").serialize(), function(html) { 
      $("div.contact-info-form").html(html); 
      $('#changes-saved').append('<li>Changes saved!</li>').show().pause(1000).hide(); 
     }); 
     return false; // prevent normal submit 
    }); 
}); 
+2

Ce n'est pas très clair ... Quelle condition avez-vous besoin? Bien sûr, cliquez sur ne fait rien quand vous ne cliquez pas dessus ... – Kobi

Répondre

3

appellent .cliquez et le passage d'une fonction dit « appeler cette fonction lorsque l'élément est cliqué sur »

.cliquez() sans argument de la fonction appelle l'événement click

Par conséquent, il n'y a la nécessité d'un « si »

0
$(".save-button").click(function() { 
    $.post($("#contact-form").attr("action"), $("#contact-form").serialize(), function(html) { 
     $("div.contact-info-form").html(html); 
     $('#changes-saved').append('<li>Changes saved!</li>').show().pause(1000).hide(); 
    }); 
    return false; // prevent normal submit 
}); 

Cela lie l'événement click à tout élément avec classe .save bouton.

0

Vous pouvez l'appliquer uniquement pour soumettre des boutons:

$(".save-button:submit") 
1

Eh bien, vous pouvez vérifier l'attribut type de l'élément cliquée par exemple:

//... 
if ($(this).attr('type') == 'submit') 
//... 

Mais je vous recommande d'utiliser le submit Notez que le formulaire peut également être envoyé si l'utilisateur appuie sur Entrée:

$(function() { 
    $("#contact-form").submit(function() { 
     var $form = $(this); 
     $.post($form.attr("action"), $form.serialize(), function(html) { 
      $("div.contact-info-form").html(html); 
      $('#changes-saved').append('<li>Changes saved!</li>').show() 
           .pause(1000).hide(); 
     }); 
     return false; // prevent normal submit 
    }); 
});