我正在尝试在jsp页面上验证我的用户名。基本上我想看看是否有匹配的域我想重定向到其他URL。下面是我的功能。
function validateName()
{
var UserName=document.getElementById('Username').value;
if (UserName == "@test.com")
{
window.location="http://test.test.com";
}
else if (UserName == "@test1.com")
{
window.location="https://test.test1.com";
}
return true
}
我的表单有onchange事件。
<p>
Enter the UserName: <input id="Username" name="Username" onchange="validateName()"><br>
</p>
我该如何验证这一点?我不知道上面的工作。每当我试图放一些&#34; test.com&#34;或&#34; test1.com&#34;我没有看到表格中发生的任何事情。
如果你能对此有所了解,我将不胜感激。
答案 0 :(得分:0)
使用onkeyup="validateName()"
代替onchange="validateName()"
答案 1 :(得分:0)
var name
,以前用作object id
的相同字符串...... object ID
&amp;你要使用的var name
必须是不同的(不区分大小写)。
// This:
var UserName = document.getElementById('Username').value;
\ \
\_ Var Name \
\_ Object Property
// is the same as:
var UserName = Username.value;
\ \
\_ Var Name \
\_ Object Property
有了这个,(记住,不区分大小写)你的var name
与你的object ID
有冲突,所以在你的函数中,你实际上是在比较:
if ( username == username.value ) {...}
\ \
\_ Object \
\_ Object Property
// will never be true
所以,简而言之...... 使用其他内容更改函数中的var名称。
function validateName()
{
var UserNameToCheck = document.getElementById('Username').value;
if (UserNameToCheck == "@test.com")
{
alert("http://test.test.com");
//window.location="http://test.test.com";
}
else if (UserNameToCheck == "@test1.com")
{
alert("http://test.test1.com");
//window.location="https://test.test1.com";
}
return true
}
<p>
Enter the UserName: <input id="Username" name="Username" onchange="validateName()"><br>
</p>
...或根本不使用它并直接检查......
function validateName()
{
if ( Username.value == "@test.com" ) {...}
}