在Java脚本验证中,使用keyup进行验证在mozilla中不起作用



在jquery表单验证中,keyup不能在mozilla中工作,但在chrome中工作良好。

这是Javascript代码

function validate() {  
    var msg;  
    if(document.myForm.userPass.value.length>5)
        msg="good";  
    else
        msg="poor";  
    document.getElementById("mylocation").innerText=msg;  
}  

这是html代码

<form name="myForm"> 
<input type="password" value="" name="userPass" onkeyup="validate()">   
Strength:<span id="mylocation">no strength</span>  
</form>  

从这个答案它告诉Firefox不需要innerTextinnerHTML来设置值,而是需要textContent来设置值。因此,如果浏览器是Firefox,请使用textContent设置您的值

演示

function validate() {  
    var msg;  
    if(document.myForm.userPass.value.length>5){  
        msg="good";  
    }  
    else{  
        msg="poor";  
    }  
    var f=navigator.userAgent.search("Firefox"); //check if browser if FF
    if(f>-1)
        document.getElementById("mylocation").textContent=msg //if yes use this
    else
        document.getElementById("mylocation").innerText=msg //else normal approach
}  

注意:-正如我在评论中建议的那样,使用onkeypress而不是用于密钥CCD_ 7和CCD_ 8事件验证的CCD_

演示

要识别不同的浏览器,您可以使用以下代码这个答案

function checkBrowser(){
    c=navigator.userAgent.search("Chrome");
    f=navigator.userAgent.search("Firefox");
    m8=navigator.userAgent.search("MSIE 8.0");
    m9=navigator.userAgent.search("MSIE 9.0");
    if (c>-1){
        brwsr = "Chrome";
    }
    else if(f>-1){
        brwsr = "Firefox";
    }else if (m9>-1){
        brwsr ="MSIE 9.0";
    }else if (m8>-1){
        brwsr ="MSIE 8.0";
    }
    return brwsr;
}

尝试使用jquery,它将在每个浏览器中工作

function validate() {  
console.log("validation start");
    var msg;  
    if($("input[name='userPass']").val().length >5)
        console.log("good");//msg="good";  
    else
       console.log("poor");// msg="poor";  
    document.getElementById("mylocation").innerText=msg;  
}

相关内容

  • 没有找到相关文章

最新更新