jQuery submit方法不提交表单数据

时间:2014-09-13 21:24:31

标签: javascript jquery

如果金额<10 并且每隔2秒使用jQuery AJAX更新金额,我使用jQuery来阻止在点击时提交表单。如果同时金额&gt; 10 然后我想重新提交已填写的表格。

我用过

$("form").submit(function(e){ e.Preventdefault;})

金额&lt; 时,阻止提交表单10 ,如果同时更新&gt; 10 然后我解除了提交按钮的绑定并再次调用提交功能。

$("form").unbind("submit");
$("form").submit();

但是这并不会将数据发布到操作URL。

这是我的完整代码

$(document).ready(function() {
    var damount;
    var checking=0;
    setInterval(Call2, 3000);
    function Call2() {
        damount=$("#damount").val();
        if(damount>10 && checking==1)
        {
            $("form").unbind('submit');
            $("form").submit();

        }
    }

    $("#addproject").click(function(){
        checking=1;
        damount=$("#damount").val();
        if(damount<10)
        {
            $("form").submit(function(e){
                e.preventDefault();
            });

        } 
    });

1 个答案:

答案 0 :(得分:0)

在此处查看另一篇类似的帖子和我的回复:

https://stackoverflow.com/a/25806502/4021932

您尝试在jQuery对象上调用submit(),但该对象无法正常工作。你需要在DOM元素上调用它。

$("form").unbind('submit'); //This is fine as it's dealing with the submit event, which jQuery handles
$("form")[0].submit(); //This calls submit() on the form DOM element

尝试这样的事情怎么样:

$(function () {
    $("form").submit(function (e) {
        var damount = parseInt($("#damount").val());
        if (damount < 10) {
            e.preventDefault();
        }
    });

    setInterval(function () {
        $("form")[0].submit();
    }, 3000);
});