jQuery 経由でページにデータを送信する Web ページを作成しました。「新規」をクリックすると、フォームを複製できます。何らかの理由で、submit 関数が複数回実行されます。3 つのフォームを作成し、最初のフォームで [送信] をクリックすると、3 つのエントリが作成されます。その後、フォームは削除されます。2 番目のフォームを送信すると、2 つのエントリが作成されます。
次のコードの何が問題なのか誰か教えてもらえますか?
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();
});
}
ありがとう!