jQuery - 表单不会使用 jQuery 提交

2023-11-23

进一步解决我的问题 -jQuery 提交验证,最后有模式对话框?

看起来表单根本不会使用 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>

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

只需单击提交按钮本身就会显示警报,然后按预期提交表单。

很抱歉(我知道)这是一个非常愚蠢的问题,但我在这里不知所措。泰!


问题是您将提交按钮命名为“提交”。将其更改为其他任何内容,它就会起作用。 (同时更改id,最好保持它们相同,尤其是因为一些浏览器问题.)

原因:表单元素有一个名为submit您可以调用该函数来提交它们。 (当你调用时,jQuery 在幕后使用了这个submit在 jQuery 实例上。)但是 Form 元素also使用字段名称接收表单中每个字段的属性,因此如果您有一个名为“提交”的字段,它覆盖 the submit函数,这意味着您无法以编程方式提交表单。

工作示例:实时复制 | 直播源

<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 上工作。)

旁注:你不必return true;在你的submit事件处理程序以允许表单提交。你只需要not return false;. :-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery - 表单不会使用 jQuery 提交 的相关文章

随机推荐

  • Rust是如何实现反射的?

    铁锈具有Any特点 但它也有 不为不使用的东西付费 的政策 Rust是如何实现反射的 我的猜测是 Rust 使用惰性标记 每个类型最初都是未分配的 但后来如果该类型的实例被传递给需要一个Any特征 类型被分配一个TypeId 或者 Rust
  • Flink 键控流密钥为空

    我正在尝试在 Flink 中的 KeyedStream 上执行映射操作 stream map new JsonToMessageObjectMapper keyBy keyfield map new MessageProcessorStat
  • 当应用程序在后台运行时 Android 传感器正在监听

    即使应用程序不在前台 是否可以连续跟踪 Android 上的运动传感器事件 如果是的话 电池的消耗是什么 一位客户询问是否可以编写一个应用程序 在人 跌倒 时启动一个动作 这基本上意味着不断监听运动传感器的快速移动 首先 您绝对可以在后台监
  • 无法在清单资源中找到该报告

    我将所有水晶报表保存在一个文件夹中 VOUCHERS gt SALE gt BILLFORMATS 例如 第一个报告的位置是 VOUCHERS gt SALE gt BILLFORMATS gt BillFormat1 rpt Vegi M
  • 如何绘制按日期聚合的 pandas 数据框

    我有这个数据框 df pd DataFrame 2017 01 14 1 2017 01 14 30 2017 01 16 216 2017 02 17 23 2017 02 17 2 2017 03 19 745 2017 03 19 3
  • 下面的掩码输入问题如何解决?

    我有一个脚本来屏蔽文本框 在这里它 我还有一个脚本可以在单击按钮时动态添加文本框
  • 将国家/地区名称转换为国家/地区代码缩写 php [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 有没有办法将国家名称转换为国家代码缩写 或者一些php函数 这样当 澳大利亚 时
  • 当我尝试在驱动器中搜索时,程序抛出 NullPointerException?

    我编写了一个程序来查找文件或目录 当我尝试使用 in 搜索文件时 它工作正常目录 example java FileSearch abc txt f xyz但是当我尝试从中搜索文件时本地驱动器比程序抛出异常 java FileSearch
  • C# 迭代枚举? (索引 System.Array)

    我有以下代码 Obtain the string names of all the elements within myEnum String names Enum GetNames typeof myEnum Obtain the val
  • Swift - 是什么决定了字典集合的顺序?

    当我说顺序时 我的意思是编译器选择显示结果的顺序 我知道字典没有像数组那样的索引 我有以下字典 let groups Dictionary
  • IDisposable GC.SuppressFinalize(this) 位置

    我的代码使用默认的 IDisposable 实现模板 模式 snippet public void Dispose Dispose true GC SuppressFinalize this protected virtual void D
  • 在 OS X 上安装 GCC 4.7.1

    我正在尝试安装GCC4 7 1 在我的 Mac 上 因为我想更新LLVM GCC4 2 XCode 中给出 我已经下载了GCC4 7 1 我已经放置了gcc 4 7 1文件夹中 Downloads 然后我按照此处给出的说明进行操作 http
  • 如何尽快实现strlen

    假设您使用的是 x86 32 位系统 您的任务是尽快实现 strlen 有两个问题你需要注意 1 地址对齐 2 以机器字长 4 个字节 读取内存 找到给定字符串中的第一个对齐地址并不难 然后我们可以用这4个字节读取一次内存 并计算总长度 但
  • 这是什么? (函数(){})()[重复]

    这个问题在这里已经有答案了 可能的重复 这个 JavaScript 片段是什么意思 自动执行匿名 JavaScript 函数的括号位置 function something here lt This part right here 这到底是
  • 为什么使用静态块而不是直接初始化实例变量?

    为什么我要使用静态块 static B 10 over Integer B 10 一种相对于另一种的优点 缺点是什么 The static块允许您为属性编写更复杂的初始化逻辑 而单行初始化将您限制为单个表达式 请注意 实例属性和静态属性都存
  • 中断线程自身

    我不明白为什么线程不抛出InterruptedException当自己被打断时 我正在尝试使用以下代码片段 公共类中断测试 public static void main String args MyThread t new MyThrea
  • 如何在 django 视图中使用 python 多处理模块

    我有一个简单的函数来遍历 URL 列表 使用GET检索一些信息并更新数据库 PostgresSQL 因此 该功能运行完美 然而 一次一个地浏览每个 URL 会花费太多时间 使用 python 我可以执行以下操作来并行这些任务 from mu
  • 使用Django Rest框架序列化自定义数据类型并返回响应

    大多数关于 Django Rest Framework 的教程都解释了如何使用 Django 模型并执行 CRUD 操作 这是一个GET如果我使用 JSON 序列化程序 对用户模型的请求将以 JSON 格式返回用户对象的属性 我正在设计 D
  • 使用 HTML 属性作为 CSS 属性值 [重复]

    这个问题在这里已经有答案了 规范说 attr 函数返回元素上的属性值 用作属性中的值 如果在伪元素上使用 它将返回伪元素的原始元素上的属性值 http www w3 org TR css3 values attr 然而 这似乎不起作用 当我
  • jQuery - 表单不会使用 jQuery 提交

    进一步解决我的问题 jQuery 提交验证 最后有模式对话框 看起来表单根本不会使用 jQuery 提交 这是我的非常简化的代码