我有以下jquery脚本,它应该将数据发布到数据库,
//delegated submit handlers for the forms inside the table
$('#issue').on('click', function (e) {
e.preventDefault();
//read the form data ans submit it to someurl
$.post('<?php echo base_url() ?>pharm_profile/dept_issue/', $('#Issues_Form').serialize(), function () {
//success do something
alert("Success Approved Successfully");
var url = "<?php echo base_url() ?>pharm_profile";
$(location).attr('href',url);
}).fail(function () {
//error do something
alert("Failed please try again later or contact the system administrator");
})
})
每当我点击按钮时,脚本会运行两次/两次发布数据。我怎么能只控制一次?
答案 0 :(得分:0)
如果你的DOM里面有多个元素“#issue”,就会发生这种情况。这可能发生,即使只显示了一个, 另一方面,每次添加id为“issue”的元素时,“on”实际上都会被注册。因此,如果你碰巧动态添加这些元素,每次添加它时,都会分配一个新的click事件处理程序......
务实,因为它没有缝合你真正想要的那种行为......在“on”注册之前使用off ..
$('#issue').off('click');
$('#issue').on('click',function....);