jQuery .submit()的问题

时间:2012-09-17 15:34:59

标签: jquery html

我在使用jQuery submit()提交表单时遇到问题。

我的网页上没有任何名称为name="submit"name="Submit"的元素,ID也是如此。

我的jQuery代码如下:

    $(document).ready(function () {

    $(document).on('click', "#appSubmit",function(e){

            e.preventDefault();
            var value = $("#time").val();
            if(value == "--"){
                $( "#err-time" ).dialog( "open" );
            }else{
                alert("1");
                var dummy = $("#appSubmit").val();
                alert(dummy);
                $("#appSubmit").submit();
                alert("2");
            }

    });
});

所有警报都能正常工作,即使alert(dummy);打印出正确的值也是如此。 alert("2");打印出来,因此它甚至没有打破$("#appSubmit").submit();

我的提交按钮是

<input type="submit" name="appSubmit" id="appSubmit" value="Apply">

任何想法都会受到赞赏,谢谢。

编辑:

对不起,我忘了发一个实际的问题了。当表单在我的代码中点击$("#appSubmit").submit();行时,表单不会提交。它也没有破裂。

在jQuery网站上,他们提供的示例将事件附加到<i+n+p+u+t type="submit">,但我尝试将事件附加到表单的ID并尝试将其保持相同的行为。通过线路没有任何破坏。

我能使用它的唯一方法是使用基本的javascript提交调用document.applySubmit.submit();

哪个好,并且完成工作。但我仍然想知道这一点。

编辑2:

我会尝试.closest方法。直到现在我才知道那是什么。谢谢。如果有效,我会发布。

编辑3:

这个问题被我发布了3次吗?如果是的话,我很抱歉。我一定无法找到自己的问题,并假设我从未完成整个问题提交过程,并尝试在第二次/第三次正确发布。

编辑: Blazemonger的建议奏效了。

1 个答案:

答案 0 :(得分:10)

你没有.submit()一个按钮,你.submit()一个表格。尝试:

$("#appSubmit").closest('form').submit();

或更好:

$(this).closest('form').submit();