我正在尝试创建一个函数,该函数将查看用户名是否有效,如果无效,则向用户发送警报,清除用户名字段,并将用户名字段重新放回焦点。我正在尝试使用getElementsBynName()函数完成所有操作。除了将字段重新放回焦点之外,一切都正常工作。以下是我的代码。有没有人有什么建议。
function uchecker(uname)
{
var validUname = uname.search(/^\w+@sabc.com$/);
if(validUname != 0)
{
alert("You have entered an invalid username. \n The username must be a valid @sju.edu email address value " + document.getElementsByName('uname')[0].value);
document.getElementsByName('uname')[0].value = null;
document.getElementsByName('uname')[0].focus();
/I have also tried document.getElementsByName('uname').focus, document.getElementsByName('uname')[0].value.focus();
}
看起来在Java脚本运行之前,聚焦的字段会更改为下一个字段,也就是我的密码输入框...它还有自己的验证功能。有没有办法让我的JavaScript代码在下一个文本框(密码框)获得焦点之前先运行我的用户名字段的验证?
document.getElementsByName('uname')[0].focus()
。 - gab06if (/^\w+@sabc.com$/.test(uname))
。此外,完全删除用户输入非常不友好。最好建议用户错误并让他们自行更正。 - RobG