我想从文本框中提供的值中删除前导和尾随空格。为此,我正在使用 JavaScript 验证。因为我已经声明了两个变量,当我试图检查分配给这些变量的值时,我得到了 undefined
作为值。你能告诉我哪里错了吗?
function trim(StringtoTrim){
StringtoTrim.replace(/^\s\s*/, '');
}
function validate()
{
alert("in validate ");
var value1 = myform.fname.value;
alert(value1.value);
var value2 = trim(value);
alert(value2.value);
if(value2.length != value1.length)
{
document.getElementById('errfn').innerHTML="please remove leading and trailing spaces ";
return false;
}
}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form name="myform" onsubmit="return validate();">
First_Name
<input type="text" name="fname"/><span id="errfn"></span>
<br> <br>
<input type="submit"/>
</form>
</body>
最佳答案
你正试图获得值(value)的值(value)
var value1 = myform.fname;
alert(value1.value);
第二个值未定义
var value2 = trim(value);
它应该是 value1
但脚本的问题远不止于此。见下文
function validate()
{
alert("in validate ");
var value1 = myform.fname.value;
alert(value1);
var value2 = value1.trim();
alert(value2);
if(value2.length != value1.length)
{
document.getElementById('errfn').innerHTML="please remove leading and trailing spaces ";
return false;
}
}
关于javascript - 在 JS 验证中 - 试图从文本框中删除空格,但得到未定义的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45356457/