我的形式像
<form id="abc">
<div>
<select >
<option id= "1"> ha1 </option>
<option id= "1"> ha2 </option>
<option id= "1"> ha3 </option>
<option id= "1"> ha4 </option>
</select>
<input type="submit">
</div>
</form>
表单提交我使用过像
$(document).ready(function() {
$('#abc').submit(function(){
$.post('filter.php', $(this).serialize(), function(data){
$('#abc').reset(); //(this).reset();
});
return false;
});
});
此处重置无效。重置的任何问题我都没有。 表单提交后,我想刷新带有db值的表单(显示刚刚选择的值)。
如何在提交或div刷新后刷新页面。
答案 0 :(得分:0)
$(document).ready(function() {
$('#abc').submit(function(){
$.post('filter.php', $(this).serialize(), function(data){
window.location.href=window.location.href;
});
return false;
});
});
通过将href设置为实际值来重新加载页面:)
或者你也可以使用它:
parent.document.getElementById("abc").reload();
顺便说一句:我没有看到你的服务器端代码,你必须渲染所选的值,当然,我假设你正在返回它们,我的答案不包括服务器端场景。我的代码仅适用于在将数据库保存到db后从服务器返回所选值的情况。
答案 1 :(得分:0)
如果您拥有服务器端代码,则可以返回响应中的值,然后在回调中使用这些值填充字段。
让我们说这是你的回答JSON:
{
data: [{
"username": "john doe"
}]
}
$('#abc').submit(function(){
$.post('filter.php', $(this).serialize(), function(data){
$('#abc').reset(); //(this).reset();
$('input#username').val(data.username);
});
return false;
});
答案 2 :(得分:0)
如doniyor的回答中所述,您可以使用window.location.href来刷新页面,但这不会使用您刚写入数据库的值填充表单。
您有两个选项可用于使用数据库填充表单,在您的情况下可能需要实现两者(由您决定)。
首先是在第一次加载html时填充表单。这可以在服务器端完成,方法是查询数据库并获取值,然后根据值设置正确的单选按钮,如下所示:
<input type="radio" selected="selected" />
另一个选项是使用jquerys .prop()方法设置复选框async。这要求您的标签具有唯一的ID(无论如何它们都应该具有)。例如:
$("#yourIDHere").prop('checked',true);
在后一种情况下,您可以使用您发布的脚本输出要使用的正确ID。这取决于您的判断,取决于您的情况,但希望这个答案能为您指明正确的方向。
祝你好运
答案 3 :(得分:0)
尝试使用它,
$('#abc').submit(function(){
$.post('filter.php', $(this).serialize(), function(data){
$('#abc').find('input:text, input:password, input:file, select, textarea').val('');
$('#abc').find('input:radio, input:checkbox')
.removeAttr('checked').removeAttr('selected');
});
return false;
});