zoukankan      html  css  js  c++  java
  • jQuery的input 失去焦点之后,不能再获取到焦点

    今天写了一个字段唯一性校验功能,验证设备仪器编号唯一,当输入编号之后 ,点击其他,失去焦点后,后台验证唯一,有过此编号,就给出提示,重新填写。

    当使用ie时候,获取焦点正常 ,但是使用火狐就获取不到焦点了。

    解决方法 :将$("#appNumId").focus()改为如下代码firefox即可识别:

    window.setTimeout (function(){ document.getElementById ('appNumId'). select();},0 );

    具体代码如下:

    前台代码:  这两行代码在firefox 下不好用:

     //用于资产编号和设备编号的唯一性校验
       $(function(){
           $("#assetNumId").blur(function(){
               var assetNum = $("#assetNumId").val();
              //AJAX去后台查询数据库中有这个资产编号吗
               ajaxPost("/apparatus/assetNumCheck",{"assetNum":assetNum},function(data,status){  
                    if(data.message =="true"){
                        alert("该资产编号已存在,请重新填写");
                           $("#assetNumId").val("");
                           $("#assertNumId").focus();
                   } 
                });
           });
           
           $("#appNumId").blur(function(){
               var appNum = $("#appNumId").val();
               ajaxPost("/apparatus/appNumCheck",{"appNum":appNum},function(data,status){  
                    if(data.message =="true"){
                        alert("该设备编号已存在,请重新填写");
                           $("#appNumId").val("");
                           $("#appNumId").focus();
                   } 
                });
           })
       })

     更换获取焦点方式后firefox即可使用:

     //用于资产编号和设备编号的唯一性校验
       $(function(){
           $("#assetNumId").blur(function(){
               var assetNum = $("#assetNumId").val();
              //AJAX去后台查询数据库中有这个资产编号吗
               ajaxPost("/apparatus/assetNumCheck",{"assetNum":assetNum},function(data,status){  
                    if(data.message =="true"){
                        alert("该资产编号已存在,请重新填写");
                           $("#assetNumId").val("");
                            window.setTimeout (function(){ document.getElementById ('assetNumId'). select();},0 );
                   } 
                });
           });
           
           $("#appNumId").blur(function(){
               var appNum = $("#appNumId").val();
               ajaxPost("/apparatus/appNumCheck",{"appNum":appNum},function(data,status){  
                    if(data.message =="true"){
                        alert("该设备编号已存在,请重新填写");
                           $("#appNumId").val("");
                            window.setTimeout (function(){ document.getElementById ('appNumId'). select();},0 );
                   } 
                });
           })
       })

    然后ok!,ie、火狐均兼容

  • 相关阅读:
    单例模式及C++实现代码
    Nginx学习笔记4 源码分析
    探讨C++ 变量生命周期、栈分配方式、类内存布局、Debug和Release程序的区别2
    SVM学习资料
    11 款最好 CSS 框架
    发布Activex全过程
    Integer.parseInt(String s, int radix)方法介绍(修正版)
    Windows 各种计时函数总结(QueryPerformanceCounter可以达到微秒)
    不断摸索发现用 andy 模拟器很不错,感觉跟真机差不多
    Qt中提高sqlite的读写速度(使用事务一次性写入100万条数据)
  • 原文地址:https://www.cnblogs.com/zhanghaoliang/p/5752034.html
Copyright © 2011-2022 走看看