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、火狐均兼容

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM