我在动态生成的文本框的onblur事件中使用这段代码:
var allowed="abcdefghijklmnopqrstuvwxyzABCDEFGHIJJKLMNOPQRSTUVWXYZ" ;
for(i=0;i<document.getElementById("FNAME").value.length;i++)
{
if(allowed.indexOf(document.getElementById("FNAME").value.charAt(i)) == -1) {
alert("FIRST NAME should be Alphabet");
return false;
}
}
var flag=false;
for(j=0;j<document.getElementById("FNAME").value.length;j++)
{
if(document.getElementById("FNAME").value.charAt(j)!=" ")
{
flag=true;
break;
}
}
if(flag==false)
{
alert("Please Enter FIRST NAME");
return false;
};
有时它运行没有任何问题,有时浏览器被挂起并且资源管理器停止工作的消息被填充(在IE8模式下使用IE10)
无法追查问题。
答案 0 :(得分:0)
您可以尝试以下代码。它也做了我从你的代码中理解的同样的事情:
<强> HTML 强>
<input id="FNAME" value="test" type="text" onblur="validateName();"/>
<强> JavaScript的:强>
function validateName(){
var fName = document.getElementById("FNAME").value;
var charCode = 0;
if(fName.length > 0) {
for(var i = 0; i < fName.length; i++)
{
charCode = fName.charCodeAt(i);
if((charCode < 65 || charCode > 122)) {
alert("FIRST NAME should be Alphabet");
return false;
}
}
} else {
alert("Please Enter FIRST NAME");
}
}