javascript - 无法使用 jquery 提交表单

标签 javascript jquery html

我有以下脚本,它只是我的实际代码的示例,但其行为与实际代码相同:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <form action="http://google.com/">
        <input type="text" name="item_name" />
        <input type="hidden" name="submit" value="save" />
        <a href="" id="save">Submit</a>
    </form>
    <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    <script>
        jQuery(function($){
            $('#save').on('click', function(e){
                e.preventDefault();

                $('form').submit();
            });
        });
    </script>
</body>
</html>

您可以看到,有一个带有 id save 的 a 标记,即单击此链接时,表单应该提交,但没有。这是由名为 submit 的隐藏输入引起的,如果我更改名称,它就能正常工作。

在 Linux 上的 chrome 和 firefox 上尝试过此操作。谁能解释一下吗?

这是fiddle

--编辑--

我尝试使用 native 点击事件:

document.getElementById('save').onclick = function(e){
    e.preventDefault();
    document.getElementsByTagName('form')[0].submit();
}

表单也无法提交。

最佳答案

我认为这与以下问题是同一个问题: TypeError: e[h] is not a function

拥有名为“提交”的输入会向表单添加“提交”属性,这意味着您无法将 .submit() 作为函数调用。

您应该将隐藏的输入命名为其他名称。

关于javascript - 无法使用 jquery 提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33382972/

相关文章:

javascript - 根据单选按钮输入加载动态内容

javascript - 单击具有给定类的页面上的所有 anchor 标记,但在导航之前取消

javascript - 如何在点击时启动动画

javascript - jQuery.validate 立即验证字段而不是在提交时验证?

javascript - 无法运行ReactJS的Hello World示例

html - 如何手动查找和编辑子主题 (Wordpress) 的顶部栏选项

javascript - 从数组中删除重复项,转换为对象数组并添加重复计数属性

javascript - Jquery 对话框内容有时会返回旧数据

javascript - 如何防止我的产品列表在父组件更新时重新呈现?

javascript - 使用 jQuery 检查 URL 上 "/"后面的内容