在将$ .getJSON发送到JQmobile中的服务器之前验证它

时间:2012-07-10 20:21:30

标签: validation jquery-mobile getjson

我正在尝试在将表单发送到服务器之前验证它。我尝试了几个J / S插件进行常规验证,但似乎都没有。

我尝试使用jquerymobile查找getJSON验证方法,但没有看到任何相关内容。正在使用$.getJSON正确的方法吗?

这是一个小提琴http://jsfiddle.net/Kimbley/kMsXK/2/

谢谢:D

代码在这里:

    function mAddBusiness() {
        $.getJSON("API.php", {
            command: "addBusiness",
            bsnName: $("#mBsnName").attr("value"),
            bsnCity: $("#mBsnCity").attr("value"),
            bsnAddress: $("#mBsnAddress").attr("value"),
            bsnMenu: $("#mBsnMenu").attr("value"),
            bsnLat: bsnLat,
            bsnLong: bsnLong
        },
            function () {
            $("#mBsnName").attr("value", "");
            $("#mBsnCity").attr("value", "");
            $("#mBsnAddress").attr("value", "");
            $("#mBsnMenu").attr("value", "");
            alert("Business was added successfully ");
        }
            );
    }

1 个答案:

答案 0 :(得分:0)

mAddBusiness()函数中,您可以在发送AJAX请求之前进行验证。类似的东西:

function mAddBusiness() {
    if ($("#mBsnName").val() !== '') {
        $.getJSON("API.php", {
            command: "addBusiness",
            bsnName: $("#mBsnName").val(),
            bsnCity: $("#mBsnCity").val(),
            bsnAddress: $("#mBsnAddress").val(),
            bsnMenu: $("#mBsnMenu").val(),
            bsnLat: bsnLat,
            bsnLong: bsnLong
            },
            function () {
                $("#mBsnName").val("");
                $("#mBsnCity").val("");
                $("#mBsnAddress").val("");
                $("#mBsnMenu").val("");
                alert("Business was added successfully ");
            }
        );
    } else {
        alert('Please enter a business name.');
    }
}

请注意,您必须将data-ajax="false"属性添加到相关的<form>标记中,以便jQuery Mobile不会尝试自行提交表单。

另外,请注意$('input').attr('value')不会返回输入的当前值,它会在用户有机会输入任何内容之前返回初始值。要获取表单输入的当前值,请使用.val()http://api.jquery.com/val