我正在使用jQuery發佈表單,具體取決於按下哪個按鈕。 我可以在螢火蟲控制檯看到表單發佈兩次。誰能告訴我爲什麼會發生這種情況?爲什麼jQuery發佈我的表單兩次?
$(document).ready(function() {
$("#myForm").submit(function(e) { //If add btn pressed
e.preventDefault();
var id = this.id;
var url = "process_ajax4.php";
var formdata = $(this).serialize();
formdata += "&btn=btn_add"; // added the btn
$.post(url, formdata,
function(data) {
$("#results").html(data); //Response
});
});
$("#myForm").submit(function(e) { //If add btn pressed
e.preventDefault();
var id = this.id;
var url = "process_ajax4.php";
var formdata = $(this).serialize();
formdata += "&btn=btn_remove"; // added the btn
$.post(url, formdata,
function(data) {
$("#results").html(data); //Response
});
});
});
表單
<td>
<form id="myForm" class="myForm" action="\" method= "post" enctype="multipart/form-data">
<input type="hidden" name="user_id" value=". $collab_userid." />
<input type="hidden" name="id" value=".$upload_id." />
<button type="submit" id="btn_remove" class="btn_remove" name= "btn_remove">Remove</button>
<button id="btn_add" class= "btn_add" name="btn_add">Approve</button>
</form>
</td>
爲什麼你有兩個提交處理程序? –
這兩個'$(「#myForm」)。submit'是錯誤的原因。 –
@ Ali7091雖然在許多情況下這樣做是很好的做法,但在這種情況下,它不會產生任何影響,因爲代碼'e.preventDefault()'已經阻止了默認提交操作。重複的事件處理程序是問題的原因。 – ADyson