我在document.ready上运行了以下jquery代码
formobj.submit(function(e){
if ( submitted ) {
return false;
} else {
submitted = true;
return true;
}
});
页面上经常有多个表单。我需要知道哪个表单触发了提交。我看到“e”对象有一个目标值,但似乎无法利用它来检索唯一ID。
答案 0 :(得分:4)
HTML:
<form id="my_form" method="post" action="">
<input type="submit" />
</form>
使用Javascript:
$('form').submit(function(e) {
e.preventDefault();
console.log(e.target.id); // my_form
// equivalent to
console.log($(this).attr('id')); // my_form
});
答案 1 :(得分:3)
它应该与e.target.id
一起使用。但是当你使用jQuery时,你也可以尝试$(this).attr('id')
。
当然,表格需要有正确的ID设置。
同样适用于name
。
答案 2 :(得分:0)
'this'对象应该绑定到事件处理程序上下文中的提交表单。例如:
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
<form id="aForm1"><input type="submit"/></form>
<form id="aForm2"><input type="submit"/></form>
<form id="aForm3"><input type="submit"/></form>
<script src="jquery-1.6.1.min.js"></script>
<script>
$(document).ready(function() {
$("form").submit(function(e) {
$(document.body).append('which form is this?: ' + String(this.id));
$(document.body).append($('<br/>'));
e.preventDefault();
});
});
</script>
</body>
</html>
答案 3 :(得分:0)
您可以使用:
$("form").submit(function() {
alert($(this).attr('id'));
});
你可以在这里看到这个运行的一个例子: http://jsfiddle.net/HNVyU/