我做了一个网页,通过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所有项目“。什么?绝对不是。你能证实这一说法吗? –