在 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>

最佳答案

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

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
}

要识别不同的浏览器,您可以使用以下来自 的代码 this answer
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;
}

关于javascript - 在 Java Script 验证中使用 keyup 进行验证在 mozilla 中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31915683/

10-12 00:07
查看更多