jQuery .submit()的问题

d.l*_*a38 1 html jquery

我在使用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");
            }

    });
});
Run Code Online (Sandbox Code Playgroud)

所有警报都能正常工作,甚至alert(dummy);打印出正确的值.该alert("2");打印出来,所以它甚至没有上破$("#appSubmit").submit();

我的提交按钮是

<input type="submit" name="appSubmit" id="appSubmit" value="Apply">
Run Code Online (Sandbox Code Playgroud)

任何想法都将不胜感激,谢谢.

编辑:

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

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

我可以让它工作的唯一方法是使用基本的javascript提交调用 document.applySubmit.submit();

哪个好,做的工作.但我仍然想知道这一点.

编辑2:

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

编辑3:

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

编辑:Blazemonger建议有效.

Bla*_*ger 10

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

$("#appSubmit").closest('form').submit();
Run Code Online (Sandbox Code Playgroud)

或者更好的是:

$(this).closest('form').submit();
Run Code Online (Sandbox Code Playgroud)

  • 另一种选择是仅防止在不希望提交按钮时点击按钮(在这种情况下,提交表单)的默认行为. (2认同)