在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不需要innerText
或innerHTML
来设置值,而是需要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;
}