2011-05-30 126 views
1

我已經在的document.readyjQuery的確定形式對提交

formobj.submit(function(e){ 
    if (submitted) { 
    return false; 
    } else { 
    submitted = true; 
    return true; 
    } 
}); 

運行下面的jQuery代碼經常有在頁面上多形式的名稱/ ID。我需要知道哪個表單觸發了提交。我看到「e」對象有一個目標值,但似乎無法使用它來檢索唯一的ID。

回答

3

它應該與e.target.id一起使用。但是,當你使用jQuery時,你也可以嘗試$(this).attr('id')

當然,表格需要有一個適當的ID集。

這同樣適用於name

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 
}); 
0

的 '這個' 對象應該被綁定到提交表單的事件處理程序的上下文。例如:

<!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> 
0

您可以使用:

$("form").submit(function() { 
    alert($(this).attr('id')); 
}); 

你可以看到在這裏運行這樣一個例子: http://jsfiddle.net/HNVyU/