我想使用JQuery将数据发送到PHP页面但它无法正常工作...如果我在标签中写入“action”属性,那么它将值传递给PHP进程页面(img_upload_p.php)但是当我尝试发送时它使用Ajax(通过img_upload.js)然后它没有用...下面给出的是我的代码...
在“img_upload.js”文件中,bootstrap验证工作正常,但验证后的代码没有执行...
img_upload.php
<form name="frm_add" id="frm_add" action="img_upload_p.php" method="post" enctype="multipart/form-data">
<input type="text" name="txt_name" id="txt_name" >
<input type="file" name="img_upload" id="img_upload">
</form>
img_upload.js
$(function() {
$("#frm_add input, #frm_add select, #frm_add textarea").jqBootstrapValidation({
preventSubmit: true,
submitSuccess: function($form, event) {
$("#frm_add").on('submit',(function(e) {
event.preventDefault();
$.ajax({
url: "./image_upload_p.php",
type: "POST",
data: new FormData(this),
dataType: "json",
contentType: false,
cache: false,
processData:false,
success: function(data)
{
var $responseText=JSON.parse(data);
if($responseText.status == 'SUC')
{
// Success message
}
else if($responseText.status == 'ERR')
{
// Fail message
}
},
})
}));
},
});
});
img_upload_p.php
... image upload functionality ...
... database insert query executed ...
$response['status']='ERR';
$response['message']="Submitted Successfully...!!!";
echo json_encode($response);
return;
答案 0 :(得分:0)
submitSuccess
是一个回调,在用户尝试提交带有效输入的表单时使用。这意味着已触发提交事件。因此,您必须删除$("#frm_add").on('submit',(function(e) {... })
包装并执行ajax请求:
$("#frm_add input, #frm_add select, #frm_add textarea").jqBootstrapValidation({
submitSuccess: function ($form, event) {
$.ajax({...});
}
}
);