繁体   English   中英

jQuery阻止表单提交不起作用-ASP Classic

[英]jQuery to prevent form from submit does not work - asp classic

我正在调用Submit函数,以检查是否完成了所需的上载,如果数据库中没有上载,则不应提交表单。

通过使用alert,我可以看到我的checkuploads.asp返回正确的值,并且它显示的警告是未找到数据,但没有阻止表单提交。

$(window).load(function() {
    $('#Save').click(function() {
        $.ajax({
            type: "POST",
            url: "checkuploads.asp?value=" + $('#RequestNo').val(),
            success: function(data) {
                if (data === "Not Found") {
                    alert("the data was not found");
                    data.preventDefault();
                    window.history.back();
                    return false;
                } else
                if (data === "Found") {
                    alert("the data was found");
                    alert(data);
                }
            }
        });
    });
});

提前致谢。

因为您使用的是ajax请求,所以在提交表单之前,响应将花费一些时间。 因此,您需要return false; 在ajax调用之后。

$(window).load(function() {
    $('#Save').click(function() {
        $.ajax({
            type: "POST",
            url: "checkuploads.asp?value=" + $('#RequestNo').val(),
            success: function(data) {
                if (data === "Not Found") {
                    alert("the data was not found");
                    //data.preventDefault();//Remove this un-necessary line
                    window.history.back();
                    //return false;//Remove this too. It is un-necessary
                } else
                if (data === "Found") {
                    alert("the data was found");
                    alert(data);
                    //Replace the form id with correct one
                    ("#myForm").submit();//Add this line
                }
            }
        });
        return false;
    });
});

这是完整的示例:

<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
        <meta charset="UTF-8">
        <script src="jquery-3.2.1.min.js" type="text/javascript"></script>
    </head>
    <body>
        <div>
            <form id="myForm" action="/my-listener">
                <input type="text" name="RequestNo" id="RequestNo" />
                <input type="button" id="Save" value="Save" />
            </form>
        </div>
        <script>
            $(document).ready(function() {
                $('#Save').click(function() {
                    $.ajax({
                        type: "POST",
                        url: "checkuploads.asp?value=" + $('#RequestNo').val(),
                        success: function(data) {
                            if (data === "Not Found") {
                                alert("the data was not found");
                                window.history.back();
                            } else if (data === "Found") {
                                alert("the data was found");
                                alert(data);
                                $("#myForm").submit();
                            }
                        }
                    });
                    return false;
                });
            });
        </script>
    </body>
</html>

尝试这个:

         $(window).load(function() {
                $('#Save').click(function(e) {
                e.preventDefault();
                    $.ajax({
                        type: "POST",
                        url: "checkuploads.asp?value=" + $('#RequestNo').val(),
                        success: function(data) {
                            if (data === "Not Found") {
                                alert("the data was not found");
                                data.preventDefault();
                                window.history.back();
                                return false;
                            } else
                            if (data === "Found") {
                                alert("the data was found");
    window.location.replace( "checkuploads.asp?value=" + $('#RequestNo').val()); // you can chanbge url as per your need
// in case of form use
$('#form').submit();
                                alert(data);
                            }
                        }
                    });
                    return false;
                });
            });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM