今天寫了一個字段唯一性校驗功能,驗證設備儀器編號唯一,當輸入編號之后 ,點擊其他,失去焦點后,后台驗證唯一,有過此編號,就給出提示,重新填寫。
當使用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、火狐均兼容
