当这个功能第一次运行时,它没问题,但是如果我第二次运行这个功能,它会自动运行2次,如果我第三次运行这个功能,它会自动运行3倍。 我没有使用迭代循环。 我该如何解决这个问题?
$("#form_personal").submit(function(event){
event.preventDefault(); //prevent default action
var $id_last_messaggistica = $('div[id^="messaggistica"]:last');
var num = parseInt( $id_last_messaggistica.prop("id").match(/\d+/g), 10 ) +1;
document.getElementById('idlastmessaggistica').value = num;
var post_url = $(this).attr("action"); //get form action url
var form_data = $(this).serialize(); //Encode form elements for submission
$.post( post_url, form_data, function( response ) {
$("#server-results").html( response );
});
event.stopPropagation? event.stopPropagation() : event.cancelBubble = true;
});
这是点击通话的代码
$("#btn_personalinfo").click(function(event){
$("#form_personal").submit(function(event){
event.preventDefault(); //prevent default action
var $id_last_messaggistica = $('div[id^="messaggistica"]:last');
var num = parseInt( $id_last_messaggistica.prop("id").match(/\d+/g), 10 ) +1;
document.getElementById('idlastmessaggistica').value = num;
var post_url = $(this).attr("action"); //get form action url
var form_data = $(this).serialize(); //Encode form elements for submission
$.post( post_url, form_data, function( response ) {
$("#server-results").html( response );
});
});
});
这是提交按钮
<button type="submit" class="btn btn-primary col-lg-6 col-sm-6 col-md-6 col-xs-6" id="btn_personalinfo">Salva</button>
这是标签表格
<form name="personal_info" id="form_personal" method="post" action="Curriculum/updateInformazioniPersonali">
答案 0 :(得分:0)
单击按钮时,您不希望向表单添加提交事件处理程序。它可能会导致提交的内容混乱
您想要的代码就是这个而不是其他内容 - 假设idlastmessaggistica
是一个独特的ID
$("#form_personal").on("submit",function(event) {
event.preventDefault(); //prevent default action
var $id_last_messaggistica = $('div[id^="messaggistica"]:last');
var num = parseInt($id_last_messaggistica.prop("id").match(/\d+/g), 10) + 1;
$('#idlastmessaggistica').val(num);
var post_url = $(this).attr("action"); //get form action url
var form_data = $(this).serialize(); //Encode form elements for submission
$.post(post_url, form_data, function(response) {
$("#server-results").html(response);
});
});