我有一些使用联系表格的Bootstrap 3模态。 最简单的模式只是打开联系表单,一些jquery验证和ajax php发生。如果用户决定在不完成请求的情况下关闭表单,我的页脚中会有一些jquery清除表单:
$('.modal').on('hidden.bs.modal', function () {
$("form").validate().resetForm();
})
但是,我还有其他一些在内容和联系表单之间切换的模式,上面的代码不会清除表单,因此任何用户输入的data / jquery验证消息如果重新打开它们仍然存在。
我已尝试过一些清除数据的建议,但无法随时随地使用。
我也尝试过:
$(this).removeData('bs.modal');
$('.modal').on('shown.bs.modal', function () {
$(this).removeData('bs.modal');
$("form").validate().resetForm();
})
为什么我无法清除切换div中的数据?
由于
答案 0 :(得分:2)
单击"取消"清除模式中的验证错误消息和输入。按钮。
$('.modal').on('hidden.bs.modal', function(){
$(this).find('form')[0].reset();
$("form").each(function(){
$(this).validate().resetForm();
});
});
答案 1 :(得分:0)
尝试使用
window.onbeforeunload = function() {
$('form')[0].reset();
};
例如
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script type="text/javascript">
window.onbeforeunload = function() {
$('form')[0].reset();
};
</script>
</head>
<body>
<form>
<input type="text" name='text1' />
<input type="text" name='text2' />
</form>
<a href="http://www.space.com/" >fly out into space</a>
</body>
</html>
答案 2 :(得分:0)
好的,怀疑了! 需要确保重置EACH表单,这有效:
$('.modal').on('hidden.bs.modal', function () {
$("form").each(function(){
$(this).validate().resetForm();
});
});