Sunday, May 19, 2024
 Popular · Latest · Hot · Upcoming
155
rated 0 times [  162] [ 7]  / answers: 1 / hits: 18346  / 15 Years ago, tue, january 19, 2010, 12:00:00

I am trying to get it so that when a certain value is put into a textbox, the focus will stay on the textbox(and an alert will be shown in production). I am trying to get this to work in Firefox 3.5.7 with no luck.



How can I make it so when a textbox is a certain value at onchange that it will stay focused/refocus on the textbox?



Live example is at http://jsbin.com/ipina



<body>
Enter your name: <input type=text name=fname id=fname onchange=
if(this.value=='foo'){
this.select();
this.focus();
}
/>
</body>


Also, I don't get any javascript errors or warnings in the Error Console on executing this code.


More From » events

 Answers
4

According to Javascript onchange different in IE and FireFox I needed to set the focus after the onchange event occurs, so I had to end up with something like this:



Enter your name: <input type=text name=fname id=fname onblur=
if(this.value=='foo'){
alert('bah');
setTimeout('document.getElementById('fname').focus();document.getElementById('fname').select();',0);
}
/>


And also I had to catch it when the focus was lost, not necessarily when the text was changed, so I had to use onblur instead of onchange.



Live: http://jsbin.com/ofeva


[#97793] Friday, January 15, 2010, 15 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
marinalyssak

Total Points: 637
Total Questions: 101
Total Answers: 94

Location: Morocco
Member since Fri, May 22, 2020
4 Years ago
;