jQuery – 表单不会使用jQuery提交

前端之家收集整理的这篇文章主要介绍了jQuery – 表单不会使用jQuery提交前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
继续我的问题 – jQuery on submit validation,with modal dialog at the end?

似乎表单根本不会使用jQuery提交.这是我非常简化的代码

<script type="text/javascript">

     $(document).ready(function(){
        $(document).click(function() {
            $('#inputform').submit();
        });

        $("#inputform").submit(function() {
            alert('test');
            return true;
        });
    });
</script>

<form method="POST" action="<?PHP echo CURRENT_PAGE ?>" id="inputform">

<button type="submit" name="submit" id="submit">Submit form</button>

</form>

单击正文显示“测试”警报但不提交表单.此外,关闭警告框后,再次单击时不会再次出现.

只需单击提交按钮本身即可显示警报,然后按预期提交表单.

对不起(我知道)一个非常愚蠢的问题,但我在这里不知所措. TY!

解决方法

问题是您已将提交按钮命名为“提交”.把它改成其他任何东西,它都会起作用. (也改变id,最好保持它们相同,尤其是因为 some browser issues.)

原因:表单元素有一个名为submit的属性,您可以调用它来提交它们. (当你在jQuery实例上调用submit时,jQuery使用它.)但是Form元素也使用字段的名称接收表单中每个字段的属性,所以如果你有一个名为“submit”的字段,那么覆盖提交功能,这意味着您无法以编程方式提交表单.

工作示例:Live copy | Live source

<script type="text/javascript">

     $(document).ready(function(){
        $(document).click(function() {
            $('#inputform').submit();
        });

        $("#inputform").submit(function() {
            alert('test');
            return true;
        });
    });
</script>

<form method="GET" action="http://jsbin.com/uwuzon" id="inputform">
<input type="text" name="foo" value="bar">
<button type="submit" name="someOtherName" id="someOtherName">Submit form</button>
</form>

(重大变化是name =“someOtherName”id =“someOtherName”部分.其他更改[更改表单的操作和方法]只是因此它适用于JSbin.)

旁注:你不必返回true;在您的提交事件处理程序中,以允许表单提交.你只需要不要返回false;

猜你在找的jQuery相关文章