JQuery if语句?

时间:2010-03-23 05:48:16

标签: jquery

JQuery的新手,我想知道如何将以下JQuery代码放在if语句中,以便它只在单击提交按钮时运行,而在未单击时不执行任何操作我知道我正在使用$(".save-button").click(function()有没有办法把它放在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
    });
});

4 个答案:

答案 0 :(得分:3)

调用.click并传递函数说“单击元素时调用此函数”

不带函数参数的

.click()调用click事件

因此,不需要'if'

答案 1 :(得分: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
    });
});

答案 2 :(得分: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类的元素。

答案 3 :(得分:0)

您只能将其应用于提交按钮:

$(".save-button:submit")