形式不提交问题

时间:2015-03-30 15:19:11

标签: javascript jquery

我有一个像这样的代码片段。当我提交它时显示警告按钮和ajax函数调用。我如何防止。我有一个id = id1的文本框。我只有在文本框中有值时才需要调用ajax

我在同一页面上还有另一个按钮,所以我需要在该按钮内调用常用的验证功能。所以我写了一个常用功能。

$( document ).ready(function() {
    function validate() {
        if($('#id1').val=='') {
            alert('enter a value');
            return false;
        }
        return true;
    }

    $('#button').click(function() {
        validate();
        $.ajax...code goes here
    });

});

2 个答案:

答案 0 :(得分:1)

如果无效,则从点击处理程序返回,而不执行ajax调用。

在你的情况下,你正在调用validate方法,但是你没有对从它返回的值做任何事情。因此,如果false然后从点击处理程序返回

,请使用if条件检查它是真还是假
$(document).ready(function () {
    function validate() {

        if ($('#id1').val() == '') {

            alert('enter a value');
            return false;
        }
        return true;
    }

    $('#button').click(function () {
        if (!validate()) {
            return;
        }

        $.ajax...code goes here
    });

});

答案 1 :(得分:0)

使你的函数不受jquery函数的影响,使其可以在其他地方重用。

$( document ).ready(function() {
    $('#button').click(function() {
        var isValid = validate();
        if(isValid){
            $.ajax...code goes here
        }
    });
});
var validate = function() {
    if($('#id1').val=='') {
        alert('enter a value');
        return false;
    }
    return true;
}

返回复选框的有效性,如果为true,则触发ajax请求。