I am trying to create function that will look at the username if it is not valid send an alert to the user, clear the username field, and put the username field back into focus. I am trying to do this all with the getElementsBynName() function. It is all working with the exception of getting the field back into focus. My code is below. Does anyone have any suggestions.
function uchecker(uname)
{
var validUname = uname.search(/^\[email protected]$/);
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();
}
}
So it appears that before the Java script runs the field that is in focus changes to the next field, my password input box...which also has its own validation function. I there a way to get my javascript code to run for my username field before the next textbox (password box) is takes focus?
document.getElementsByName('uname')[0].focus()
I think. – Freethinkerdocument.getElementsByName('uname')[0].value =''
and use thefocus()
method. – Freethinkerif (/^\[email protected]$/.test(uname))
. Also, completely deleting user input is very unfriendly. Much nicer to advise of the error and leave it to them to correct. – Broncho