2010-03-23 217 views
0

Jquery的新功能,並想知道如何將下面的JQuery代碼放在if語句中,以便它只在點擊提交按鈕時運行,並且在沒有點擊時什麼也不做我知道我正在使用$(".save-button").click(function()有沒有辦法把它放在一個if語句中?JQuery if語句?

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

這不是很清楚......你需要什麼條件?當你不點擊它時,'click'什麼也不做。 – Kobi 2010-03-23 05:55:29

回答

3

調用。點擊和傳遞功能說「調用此功能,當元素被點擊」

。點擊()沒有一個函數參數調用click事件

因此,不存在需要'如果'

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 
}); 

這會將click事件綁定到任何具有.save-button類的元素。

0

您可以將它只能提交按鈕:

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

好了,你可以檢查type屬性點擊的元素例如:

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

但我會建議你使用submit事件,請記住,如果用戶按Enter鍵,表單也可以提交:

$(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 
    }); 
});