我的代码运行良好。它无需重新加载即可提交数据。
但我只想像往常一样在提交时重新加载此表单或此 div。
简而言之,我想像 type = "submit"一样提交此表单。我不想再用 js 阻止加载,而是只加载这个表单而不是其他 div 或整个页面。
我应该在这里写什么?
.done(function(data){
//reload div or form only
})
<div id="reply-box">
<div class="form-group">
<form action="" method="post" id="reply" enctype="multipart/form-data" style="width: 85%;" >
<div class="input-group">
<input type="file" name="image2" class="file" id="imgInp"/>
<span class="input-group-btn">
<button class="browse btn btn-primary input-md" type="button" ><i class="glyphicon glyphicon-picture"></i>I</button>
</span>
<input type="text" placeholder="say something" class="form-control" id="comment" name="comment" required/><br/>
<span class="input-group-btn">
<button class="btn btn-info" type="submit" >submit</button>
</span>
</div>
<div>
<img id="blah" src="/final/images/blank.jpg" style=" width:7%; float:left; " />
</div>
</form>
</div>
<script type="text/javascript">
$(document).ready(function() {
// submit form using $.ajax() method
$('#reply').submit(function(e){
e.preventDefault(); // Prevent Default Submission
$.ajax({
url: 'reply.php?slug=<?=$page_id?>',
type: 'POST',
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
})
.done(function(data){
// here i want to refresh only the form or the div like normally happens on submit
})
.fail(function(){
alert('Ajax Submit Failed ...');
});
});
});
</script>
最佳答案
您尝试过 iframe 吗? 为表单创建一个单独的页面并使用 iframe 将其加载到您的主页上。
关于javascript - 仅在提交时重新加载此表单或 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41786351/