代码之家  ›  专栏  ›  技术社区  ›  Chris Simpson

验证和火狐的输入缓存

  •  0
  • Chris Simpson  · 技术社区  · 15 年前

    当你刷新/重新加载一个页面或使用后退按钮时,火狐会很友好地用导航离开前输入的内容重新填充你的输入。

    虽然这是一个很好的特性,但它不会触发我的jQuery验证和我添加到页面中的未保存更改警告。

    有没有一种方法可以在火狐中禁用此功能(每次都不重命名控件)或捕获火狐事件?

    3 回复  |  直到 15 年前
        1
  •  1
  •   Nick Craver    15 年前

    在你之后 .validate() 拜访 document.ready 也叫 .valid() 一次触发验证,如下所示:

    $(function() {
      $('#myForm').validate({ /* options here */ });
      $('#myForm').valid();
    });
    
        2
  •  0
  •   Boris Guéry    15 年前

    你可以使用 trigger() 方法触发任何事件(自定义或非自定义)。

    supong您有一个验证事件:

    $(document).ready(function()
        {
            $('#yourform').trigger('validate');
        }
    );
    

    如果验证插件使用函数进行验证,那么只需执行以下操作:

    $(document).ready(function()
        {
              validate($('#yourform'));
        }
    );
    

    当您的文档准备就绪时将触发。

    eventually使用setTimeout避免在浏览器加载缓存输入值的过程中加载时间。

        3
  •  0
  •   Nicholas Wilson    15 年前

    我可以建议您在页面加载后几秒钟添加一个延迟的函数来验证和检查表单内容吗?这可能是捕获所有浏览器最安全的方法,其中一些浏览器只在整个页面加载完毕后插入保存的表单数据。

    推荐文章