我做了一個網頁,通過jQuery發送數據到一個頁面。通過點擊「新建」可以複製表格。出於某種原因,提交功能會多次運行。如果我創建了三個表單,並在第一個表單上單擊「提交」,它將爲此創建三個表單。該表單然後被刪除。當我提交第二個表單時,它會創建兩個條目,等等。jQuery是否重複POST請求?
誰能告訴我下面的代碼有什麼問題嗎?
function listen() {
$(".addBook").on('click', function() {
$(this).fadeOut("fast", function() {
$(this).parent().find(".loadingImg").fadeIn();
});
var target = $(this).parent();
var title = $(target).find(".bookTitle").val();
var author = $(target).find(".bookAuthor").val();
var genre = $(target).find(".bookGenre").val();
var barcode = $(target).find(".bookBarcode").val();
var img = encodeURIComponent($(target).find(".coverSelect").val());
var data = 'barcode=' + barcode + '&title=' + title + '&author=' + author + '&genre=' + genre + '&img=' + img;
$.post('addBook', data, function() { alert(title); });
$(this).parent().parent().slideUp("med", function() {
$(this).remove();
});
});
}
//new form function
function newBook(barcode) {
var data = 'barcode=' + barcode;
$.post('bookInfo', data, function(data) {
$('.accordion').append(data); //php script returns html for form
$('.accordion > dd').hide();
$("#closeAccordion").show();
listen();
});
}
謝謝!
我們需要看到html和「新窗體」和「刪除窗體」功能。給定的代碼將與匹配它的html一起工作。 –
如果整個形式被複制,這是否意味着該按鈕/鏈接標記.addBook也被複制?如果是這樣的話,那麼所發生的事情是,當你點擊一個.addBook項目,它激發了頁面上的帶班.addBook所有項目。 (只是一個猜測這就是爲什麼我不是做這一個答案。需要看每@ KevinB的評論更多信息。) – JasCav
「當你點擊一個.addBook項目,它激發了頁面上的帶班.addBook所有項目「。什麼?絕對不是。你能證實這一說法嗎? –