1

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

我的页面上没有任何名称为name="submit"or的元素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 的建议奏效了。

4

1 回答 1

10

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

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

或者更好:

$(this).closest('form').submit();
于 2012-09-17T15:36:37.420 回答