【发布时间】:2011-08-08 23:13:20
【问题描述】:
我为表单提交设置了.submit() 事件。我在页面上也有多个表单,但在此示例中只有一个。我想知道点击了哪个提交按钮,而没有对每个按钮应用.click() 事件。
设置如下:
<html>
<head>
<title>jQuery research: forms</title>
<script type='text/javascript' src='../jquery-1.5.2.min.js'></script>
<script type='text/javascript' language='javascript'>
$(document).ready(function(){
$('form[name="testform"]').submit( function(event){ process_form_submission(event); } );
});
function process_form_submission( event ) {
event.preventDefault();
//var target = $(event.target);
var me = event.currentTarget;
var data = me.data.value;
var which_button = '?'; // <-- this is what I want to know
alert( 'data: ' + data + ', button: ' + which_button );
}
</script>
</head>
<body>
<h2>Here's my form:</h2>
<form action='nothing' method='post' name='testform'>
<input type='hidden' name='data' value='blahdatayadda' />
<input type='submit' name='name1' value='value1' />
<input type='submit' name='name2' value='value2' />
</form>
</body>
</html>
除了在每个按钮上应用 .click() 事件外,有没有办法确定点击了哪个提交按钮?
【问题讨论】:
-
具有讽刺意味的是,这些信息对于确定服务器端来说当然是微不足道的。
-
@Neil 如果您通过 $.ajax() 和表单上的 serializeArray() 提交表单,则不会。
-
如何在提交按钮上放置一个监听器并手动提交表单。
-
如何查看表单数据的序列化版本并匹配按钮的
name?