我正在尝试查找触发表单提交的submit按钮的值
$("form").submit(function() {
});
我可能会为每个按钮触发一个$("inputtype=submit").click()事件并设置一些变量,但这似乎不如在提交时将按钮从表单中拉出的方式优雅。
发布于 2010-01-15 02:07:06
我实现了这一点,我想它会行的。
$(document).ready(function() {
$("form").submit(function() {
var val = $("input[type=submit][clicked=true]").val()
// DO WORK
});
这是设置它的提交按钮事件
$("form input[type=submit]").click(function() {
$("input[type=submit]", $(this).parents("form")).removeAttr("clicked");
$(this).attr("clicked", "true");
});
谢谢你的回复,但这并不是很不雅观...
发布于 2010-01-15 01:58:17
我创建了一个测试表单,并使用Firebug找到了这种方法来获取值;
$('form').submit(function(event){
alert(event.originalEvent.explicitOriginalTarget.value);
});
不幸的是,只有Firefox支持这个事件。
发布于 2011-07-30 03:18:28
对于我的目的来说,这里有一种看起来更干净的方法。
首先,对于任何和所有形式:
$('form').click(function(event) {
$(this).data('clicked',$(event.target))
});
当为表单触发此单击事件时,它只是记录原始目标(在事件对象中可用),以便稍后访问。这是一个非常宽泛的笔划,因为它将触发表单上任何位置的任何单击。欢迎优化评论,但我怀疑它永远不会引起明显的问题。
然后,在$('form').submit()中,您可以查询最后单击的内容,如下所示
if ($(this).data('clicked').is('[name=no_ajax]')) xhr.abort();
https://stackoverflow.com/questions/2066162
复制相似问题