bootstrap模态切换jquery验证resetForm

时间:2015-03-25 14:31:38

标签: jquery validation modal-dialog toggle

我有一些使用联系表格的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中的数据?

由于

3 个答案:

答案 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();
    });
});