我添加事件監聽這樣的:爲什麼在點擊時應該執行一次函數1 + n次?
var runSingleTest = document.getElementById('runSingleTest');
runSingleTest.addEventListener('click', sendSingeleTestCase);
當用戶單擊我的表格下面的代碼按鈕時,執行1 + n次,其中n是之前點擊該按鈕的數量。
function sendSingeleTestCase(){
var frm = $('#scriptCodeForm');
var btn = $('#runSingleTest');
saveScriptToLocalStorage();
frm.submit(function (ev){
$.ajax({
type: frm.attr('method'),
url: btn.attr('formaction'),
data: frm.serialize(),
success: function (data) {
console.log("Test would run once.");
}
});
ev.preventDefault();
});
}
它沒有像預期的那樣表現(當它只應執行一次時執行很多次)。
你能幫我理解爲什麼它不能按照假設工作嗎?
謝謝!
嘗試'$('#runSingleTest')。one('click',sendSingeleTestCase)' –
如果您也顯示您的表單HTML,我可以給出您在評論中提到的* multiple submit button *問題的示例。 –
@TrueBlueAussie here:https://jsfiddle.net/93a5aok3/ – Abdizriel