function add(id)
{
var tempid=document.getElementById(id);
var patterm=/@/;
var value=tempid.match(patterm); // This is where I'm getting the error
if(value==null)
{
var length=document.getElementById(id).length();
tempid=tempid.setchatAt(length+1,'@messung.com');
}
else
{
}
}
答案 0 :(得分:1)
tempid是您需要将其值与模式匹配的对象。做类似document.getElementById(id).value
;
长度也是属性而不是方法。并且需要在document.getElementById(id).value;
上调用它,即字符串。不在对象上。
答案 1 :(得分:1)
在这一行上,你试图在一个永远不会工作的DOM对象上进行字符串匹配。
var value=tempid.match(patterm);
这可能不是你的意思。如果这是一个输入字段(看起来你正在测试电子邮件地址中的'@'),那么你需要获取输入字段的值,而不仅仅是DOM对象。使用正则表达式搜索字符串中的一个字符也是低效的。这是您的功能的清理版本:
function add(id)
{
var val = document.getElementById(id).value;
// if no '@' in string, add default email domain onto the end
if (val.indexOf('@') == -1)
{
val += '@messung.com';
}
else
{
}
}
答案 2 :(得分:0)
function add(id)
{
var tempid=document.getElementById(id);
var patterm=/@/;
var value=tempid.value.match(patterm); // use value property of the Dom Object
if(value==null)
{
var length=tempid.value.length(); //Call lenght on the value of object
tempid.value = tempid.value.setchatAt(length+1,'@messung.com'); //set proper value
}
else
{
}
}