我有一个表单,该表单将通过 ajax 请求由 ajax 生成,当我尝试提交上述表单时,实际上没有任何反应。知道为什么会这样吗?
按照我的逻辑,它应该可以工作,因为该表单与我用来提交它的另一个 ajax 函数不在同一个页面中。
无论如何,这是我的代码:
将创建表单的 ajax:
$(".editschool").change(function(){
var eschl = $(".editschool").val();
$.ajax({url:"update.php",
data: {schoolid: eschl},
type:'post',
async: false,
success: function(data){
$('#vupdate').html(data);
$('#vupdate').show();
},
});
});
形式:
$form .= '<form class="form-add" id="udata" method="post" role="form" enctype="multipart/form-data">';
$form .= '
<div class="form-group">
<input type="text" class="form-control" id="uschoolname" name="uschoolname" value = "'.$sname.'" placeholder="Name of School">
</div>';
$form .= '
<div class="form-group">
<textarea class="form-control" rows="3" id="uschoolabout" name="uschoolabout" placeholder="About the School">'.$sabout.'</textarea>
</div>';
$form .= '<input type="hidden" name="sid" value = "'.$sid.'">';
$form .= '
<div class="form-group">
<label for="exampleInputFile">Upload Syllabus</label>
<input type="file" id="ufile" name="ufile">
<p class="help-block">File type: png, jpg, jpeg, gif</p>
</div>
<button type="submit" class="btn btn-default pull-right">Submit</button>';
$form .= '</form>';
将提交表单的其他 ajax:
$("#udata").submit(function(){
console.log("test");
var formData1 = new FormData($(this)[0]);
$.ajax({
url: "update.php",
type: 'POST',
data: formData1,
async: false,
success: function (data) {
if(data == "1"){
$("#uschoolname").val("");
$("#uschoolabout").val("");
$("#ufile").val("");
}
},
cache: false,
contentType: false,
processData: false
});
return false;
});
请注意,我的控制台没有任何错误。
最佳答案
你能试试改变
$("#udata").submit(function(){
到
$(document).on("submit", "#udata", function(){})
关于javascript - 提交一个通过ajax调用的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21808694/