好的,先代码。页面代码可以在https://dl.dropbox.com/u/2628118/SMCH%20Portal%20-%20Home%20Page.htm查看,下面是我正在尝试运行的JS。
function checkClear(id){
var place = document.getElementById(id);
var gplace = document.getElementById(id+'check');
var patt1=new RegExp("^[a-zA-Z]+$");
if(patt1.test(id.value)==true){
gplace.innerHTML='<img src="img/gcheck.png" style="height:15px; width:auto;">';
alert(id.value);
}
else{
gplace.innerHTML='<img src="img/redx.png" style="height:15px; width:auto;">';
alert(id.value);
}
}
我已经仔细检查了DOM,我已经尝试过表单导航,我没有使用JQuery,但我可以将其添加到我正在构建的更高版本中。我必须重新构建我已经构建的所有内容以便合并它,我会这样做,但还没有。
我的问题:我似乎无法抓住输入表单的值。我一直未定义,我无法对它进行良好的reg检查以确保它只是基本文本。用户错误预防,我只是偏执狂。我几个小时都在尝试这件事。我知道这可能很简单。请帮帮我!!
答案 0 :(得分:4)
您无法获取ID的值,您只能获取具有该ID的元素的值,而不是id.value
,请使用place.value
答案 1 :(得分:0)
试试这个:
function checkClear(id){
var place = document.getElementById(id);
var gplace = document.getElementById(id+'check');
var patt1=new RegExp("^[a-zA-Z]+$");
if(patt1.test(place.value)==true){
gplace.innerHTML='<img src="img/gcheck.png" style="height:15px; width:auto;">';
alert(place.value);
}
else{
gplace.innerHTML='<img src="img/redx.png" style="height:15px; width:auto;">';
alert(place.value);
}
}
答案 2 :(得分:0)
如果您使用jQuery库,则可以轻松使用它。
if(place.value.match(^[a-zA-Z]+$)==true){
否则你可以创建正则表达式对象并使用它。
function checkClear(id){
var place = document.getElementById(id);
var gplace = document.getElementById(id+'check');
if(place.value.match(^[a-zA-Z]+$)==true){
gplace.innerHTML='<img src="img/gcheck.png" style="height:15px; width:auto;">';
alert(place.value);
}
else{
gplace.innerHTML='<img src="img/redx.png" style="height:15px; width:auto;">';
alert(place.value);
}
}