检测点击了哪个提交按钮

2024-03-25

我知道这个问题听起来很像其他问题,但我发誓我在任何地方都找不到正确的解决方案。我有一个具有多个提交按钮的旧表单。如果单击其中一个,我需要进行一些客户端验证并可能停止提交。如果单击另一个,我不需要进行此验证。

我发现如果我创建一个.submit()处理程序,我似乎无法访问实际单击的按钮。另一方面,如果我捕获.click()我需要担心的按钮事件,那么我无法阻止通过提交表单.preventDefault() (or .stopImmediatePropagation()).

这是尝试使用按钮的代码的最新迭代.click()处理程序:

$('#nextButton').click( function( e ) {
  e.preventDefault(); // The form submits anyway (which kind of makes sense)
  // return false also doesn't prevent the submission

  // If any session question is unanswered, abort
  /* $('#registrants input:text[id$="Answer"]').each( function( i, input ) {
    if( $.trim( $(input).val() ) == '' ) {
      submit = false;
    }
  });*/
});

我在这里缺少什么?那里has作为一种方法来做到这一点,看起来应该相当简单,但如果我有运气的话,我就该死了。

Thanks.


也许是这样的?

http://jsfiddle.net/4wnyY/3/ http://jsfiddle.net/4wnyY/3/

var which;

$("input").click(function () {
    which = $(this).attr("id");
});
$("#form").submit(function () {
    if (which == "button2") {
        return false; // if "button2" submit clicked - prevent submission
    }
});

这段代码的主要问题是浏览器兼容性 - 我不知道是否所有浏览器都工作相同,是否会在提交之前捕获点击事件。我记得在一个版本的 IE(也许是 7)上它是不同的。但它是可以修复的。

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

检测点击了哪个提交按钮 的相关文章

随机推荐

  • 翻转列表/元组的Pythonic方法[重复]

    这个问题在这里已经有答案了 翻转 列表 元组的最Python方式是什么 我所说的翻转的意思是 如果你有一个元组的元组 你可以使用像 tuple a b 这样的语法 翻转 它 这样你就可以执行 tuple b a 来获得相同的结果物品 一个例
  • TensorFlow - 显示会话中的所有变量

    我玩过一点 import tensorflow as tf x tf Variable 1 0 2 0 initializer tf global variables initializer session run initializer
  • ARM NEON:如何实现 256 字节查找表

    我正在使用内联汇编将我编写的一些代码移植到 NEON 我需要的一件事是将范围 0 128 的字节值转换为表中采用完整范围 0 255 的其他字节值 该表很短 但其背后的数学并不容易 因此我认为不值得每次 即时 计算它 所以我想尝试查找表 我
  • 如何在 tkinter 中获取条目的值?

    我正在尝试使用 Tkinter 的 Entry 小部件 我无法让它做一些非常基本的事情 返回输入的值 有谁知道为什么这么简单的脚本不会返回任何内容 我尝试了很多组合并研究了不同的想法 该脚本运行但不打印该条目 from Tkinter im
  • WPF C# 列表框外部滚动按钮

    您好 有一个列表框 我想要外部按钮来滚动列表框 我怎样才能实现这个目标 感谢您的帮助和示例 添加按钮点击处理程序 private void buttonUp Click object sender RoutedEventArgs e if
  • 干扰者:日记示例

    我对关于日志记录步骤的最常见 或推荐 disruptor 实现感到好奇 我最常见的问题是 它是如何实际实现的 通过示例 使用 JPA 明智吗 常用的数据库是什么 已经使用disruptor实施项目的社区 在中间处理程序 EventProce
  • Amazon S3 避免覆盖同名的对象

    如果我将文件上传到 S3 其文件名与存储桶中对象的文件名相同 则会覆盖该文件 有哪些选项可以避免覆盖具有相同文件名的文件 我在存储桶中启用了版本控制 认为这可以解决问题 但对象仍然被覆盖 我上面的评论不起作用 我以为WRITEACL 也适用
  • 如何从标准输入读取输入并强制编码?

    目标是不断地阅读stdin并强制执行utf8在Python2和Python3中 我尝试过以下解决方案 以与 python2 和 python3 兼容的方式将字节写入标准输出 https stackoverflow com questions
  • ER_CON_COUNT_ERROR:node-mysql 中连接过多错误

    我是节点初学者 以下是我尝试使用 Node mysql 执行的代码 但它一直给我这个错误 error connecting Error ER CON COUNT ERROR Too many connections CODE var siz
  • 在服务器上找不到 Git LFS 文件

    我们一直在使用 Git 和由我们自己的 Gitlab 实例托管的 git lfs 有时 当某个特定用户推送文件时 其中一些文件 似乎是 png 文件 不会进入 LFS 存储 而是添加到 git 中 当这种情况发生在他们的机器上时 我还无法看
  • 在 http 请求中使用 `retryWhen`

    我已经延长了Http类来设置默认标头并处理 angular2 应用程序内所有请求的错误 我想使用retryWhen 对某些错误重试请求 哪些错误应该retryWhen重试请求以及出现哪些错误时应停止 Injectable export cl
  • java中内部类和局部内部类有什么区别?

    如果一个类是本地内部类 这是否意味着它位于另一个类的方法内部 或者是否意味着它只是在某个地方的另一个方法中定义 例如 在下面的代码中 MenuListener 是否被视为内部本地类 import java awt import java a
  • iOS:是否可以同时从耳机和扬声器发送音频?

    我们希望从耳机插孔发送一些串行数据 但仍然希望能够从扬声器播放音频 是否可以将输出发送到两者 如果是这样 是否可以向每个发送不同的音频 据我所知还没有 您可以获得有关路由何时更改 即当有人连接耳机线时 的编程通知 但您无法指定用于输出的设备
  • 我想对 dict 进行子类化并设置默认值

    我需要创建一个特殊的 dict 子类 在其中我想为一组键设置默认值 我似乎无法找到执行此操作的正确语法 这是我一直在尝试的 class NewDict dict Key1 stuff Key2 Other stuff NoList Nada
  • 从GridView中获取特定列的总计值

    Him 我正在使用 ASP NET VB NET 和 SQL Server 2012 我有一个 GridView 列 其中包含 3 个字段和 1 个模板字段 如下所示
  • 如何使用自制程序安装 Elasticsearch 5.3.1

    我之前已经使用自制软件在我的 Mac 上安装了 elasticsearch 5 3 1 homebrew 上最新的 elasticsearch 现在是 5 5 0 因此任何运行brew 安装的新团队成员都会选择该版本 我注意到从 elast
  • 根据容器大小进行字体缩放

    我很难理解字体缩放 我目前有一个带有正文的网站font size100 100 但什么 这似乎是按 16 像素计算的 我的印象是 100 在某种程度上指的是浏览器窗口的大小 但显然不是 因为无论窗口大小调整为移动宽度还是成熟的宽屏桌面 它始
  • UITableview 的图像滚动速度非常慢

    我有一个 UITableView 它从服务器下载其表格视图单元格图像 我观察到表格滚动非常慢 我认为这可能是由于下载造成的 但我意识到下载完成后表格仍然滚动缓慢 并且图像图标大小非常小 代码 UITableViewCell tableVie
  • 设置MessageBox的位置?

    我想使用 MessageBox 或类似的 打印一条消息 我还想控制该框在屏幕上的确切位置 但在 MessageBox 的描述中找不到任何允许您控制该位置的内容 我错过了什么 如果无法使用MessageBox 那么有没有替代方案 由于过于复杂
  • 检测点击了哪个提交按钮

    我知道这个问题听起来很像其他问题 但我发誓我在任何地方都找不到正确的解决方案 我有一个具有多个提交按钮的旧表单 如果单击其中一个 我需要进行一些客户端验证并可能停止提交 如果单击另一个 我不需要进行此验证 我发现如果我创建一个 submit