在 Java 脚本验证中 使用 keyup 进行验证在 mozilla 中不起作用
In Java Script validation Using keyup for validating is not working in 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>
从这个 answer 可以看出 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
}
Note :- As I suggested in comment use onkeypress
instead of
onkeyup
for key press
and hold
events validation.
要识别不同的浏览器,您可以使用来自 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;
}
尝试使用 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;
}
在 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 不接受 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
}
Note :- As I suggested in comment use
onkeypress
instead ofonkeyup
for keypress
andhold
events validation.
要识别不同的浏览器,您可以使用来自 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;
}
尝试使用 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;
}