Php 为什么要通过ajax提交两次数据?
我正在使用codeiniter框架。我想通过ajaxcoll提交数据库中的表单数据,在成功提交表单过程后,我想通过其他ajax请求刷新特定的div 但当我按下提交表单的回车键时,数据被提交了两次。我想通过ajax提交数据一次,按enter键 我的代码像-Php 为什么要通过ajax提交两次数据?,php,ajax,codeigniter,jquery,Php,Ajax,Codeigniter,Jquery,我正在使用codeiniter框架。我想通过ajaxcoll提交数据库中的表单数据,在成功提交表单过程后,我想通过其他ajax请求刷新特定的div 但当我按下提交表单的回车键时,数据被提交了两次。我想通过ajax提交数据一次,按enter键 我的代码像- $('#form1').submit(function () { var id = $('#id').val(); var comment_text = $('#comment_text').val(); $.ajax({ data: {'
$('#form1').submit(function () {
var id = $('#id').val();
var comment_text = $('#comment_text').val();
$.ajax({
data: {'id' :id,'comment_text':comment_text},
type: "POST",
url: "first_req.php",
dataType : "json"
success: function(data){
if(data.status =="Success")
{
$.ajax({
data: {'id':id},
type: 'GET',
url: 'sencond_req.php',
contentType : "application/x-www-form-urlencoded; charset=UTF-8",
success: function (data) {
$('#com_display').html(data);
}
});
}
}
});
return false;
});
HTML-
当我在评论框中输入hi并按下enter按钮时,数据将在数据库中提交两次
请给我任何解决方案。即使您使用ajax请求提交数据,也不会停止表单提交的默认操作 你可以打电话给警察来做这件事
$('#form1').submit(function (e) {
//prevent the default form submission
e.preventDefault();
var id = $('#id').val();
var comment_text = $('#comment_text').val();
$.ajax({
data: {
'id': id,
'comment_text': comment_text
},
type: "POST",
url: "first_req.php",
dataType: "json"
success: function (data) {
if (data.status == "Success") {
$.ajax({
data: {
'id': id
},
type: 'GET',
url: 'sencond_req.php',
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
success: function (data) {
$('#com_display').html(data);
}
});
}
}
});
});
或者,如果要防止默认值和操作并停止提交事件的冒泡,请从事件处理程序返回false,以及
在文件中
(将事件处理程序绑定到“提交”JavaScript事件,或在元素上触发该事件。)
换句话说,当您单击enter时,您将触发表单的默认提交,并且您的jquery将提交表单
解决方案:
e.preventDefault()防止默认行为代码>。阅读->
只是一个小小的评论,为什么不在完成后先调用sencond_req.php调用sencond_req.php,这样就可以将两个请求保存给用户。@Mohammed Joraid,我无法理解你的问题(为什么php与此相关?)哦,很抱歉。我的意思是,为什么php被添加为问号,而它与问题无关。看起来,您的问题只与HTML和JQuery.btw有关,下面有两个答案。请选择为您提供解决方案的答案,如果答案不正确,请留下评论,让答案作者知道他的答案不准确。谢谢
$('#form1').submit(function (e) {
//prevent the default form submission
e.preventDefault();
var id = $('#id').val();
var comment_text = $('#comment_text').val();
$.ajax({
data: {
'id': id,
'comment_text': comment_text
},
type: "POST",
url: "first_req.php",
dataType: "json"
success: function (data) {
if (data.status == "Success") {
$.ajax({
data: {
'id': id
},
type: 'GET',
url: 'sencond_req.php',
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
success: function (data) {
$('#com_display').html(data);
}
});
}
}
});
});
$('#form1').submit(function (e) {
e.preventDefault();
//the rest of code.
$('form').submit(function(){
$(this).find(':submit').attr('disabled','disabled');
});
$(document).on("submit", "form.form1", function(event){
alert(1);
});