You are here: Re: How to prevent Mozilla using a link if a wrong number is in an input box « HTML « IT news, forums, messages
Re: How to prevent Mozilla using a link if a wrong number is in an input box

Posted by Chris Beall on 02/02/06 22:05

Stefan Mueller wrote:
> In my example the focus should only jump to textbox2 if you press the tab
> key and if '11' is in textbox1. That works fine.
> However if you enter e.g. '12' in textbox1 and click on 'Link', Mozilla
> shows the alert 'Wrong numer' but also jumps to 'www.google.com'.
> Opera and IE don't do that what's in my opinion the correct behavior.
>
> <html>
> <body>
> <script type = 'text/javascript'>
> function test(object) {
> if (object.value == 11) {
> return (true);
> }
> else {
> alert("Wrong number");
> return (false);
> }
> }
> </script>
> <form name = "my_form" action = "" method = "post" accept-charset =
> "iso-8859-1">
> <table id = "my_table" border = "1">
> <tr>
> <td>
> <input type = "text" name = "my_textbox1" onBlur = 'if
> (!test(document.my_form.my_textbox1))
> {setTimeout("document.my_form.my_textbox1.focus();", 1);}'>
> <input type = "text" name = "my_textbox2">
> <a href="http://www.google.com">Link</a>
> </td>
> </tr>
> </table>
> </form>
> </body>
> </html>
>
> How can I prevent Mozilla from jumping to 'www.google.com' if the value in
> the input box is wrong?
> Stefan
>
>

Stefan,

Ideally, here's what the user should see:

- Textbox1, available for input.
- Textbox2, available for input.
- Link, disabled (perhaps presented in gray or otherwise subdued) and
not in the tabbing order.

When the user puts the cursor in textbox1, the background remains or
becomes neutral, i.e. the same as when the page was initially displayed.
When the user removes the cursor from textbox1, if the box contains
'11', the background remains neutral; otherwise the background becomes
red (to indicate an error). Tabbing to textbox2 is NOT inhibited.
Optionally, a message appears, "field must contain 11".

When the user puts the cursor in textbox2, the background remains or
becomes neutral, i.e. the same as when the page was initially displayed.
When the user removes the cursor from textbox2, if the box contains a
valid value (you didn't specify what criteria are involved), the
background remains neutral; otherwise the background becomes red (to
indicate an error). Tabbing to textbox1 is NOT inhibited. Optionally,
a message appears, "field must not be blank" (or whatever is appropriate).

At any time that textbox1 contains '11' and textbox2 contains a valid
value, the link is enabled and added to the tabbing sequence following
textbox2.

I assume your actual situation is a bit more complex, since it makes no
sense to have a textbox which will only accept a single value.

The above requires that you be able to check the field value each time a
change is made, even if the cursor stays within that field. Look at the
onkeypress or onkeyup attributes as a way to drive your validity checking.

And not everyone has JavaScript enabled...

Chris Beall

P.S. I see no reason to criticize Mozilla's behavior here.

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация