I should clarify a bit more. The real implementation will be on
multiple fields and is for date validation / correction (i.e., changes
dashes to slashes).
$('#myDateField').change(function() { $.DateCorrection(this) });

If the date errors in this function, I have (function takes "el" as
parameter and sets error flag as it goes...)

if(error) {
        alert("An invalid date was provided.");
        el.value = '';
        el.focus();
        return false;
}

So this works in IE, but not FF. Same as the basic example. The
following works in IE, but not FF (forgot to add return false in orig.
post):
$('#testField').change(function() { alert('wrong value'); $
(this).focus(); return false;});

Matt

On Feb 4, 9:35 am, "Scott Trudeau" <[EMAIL PROTECTED]> wrote:
> Well, in that specific code, you should be able to just
> $('#testField').focus(); because you are only working with a single field.
>
> That said, I think maybe $(this).focus() is what you want for the generic
> case? (can't recall what $(this) is inside an event callback).
>
> Scott
>
> On Feb 4, 2008 10:26 AM, Matt Williams <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> > I want to run a validation function after a user enters data. If the
> > validation fails, I want do an alert telling them so and set the focus
> > back to that field. But even at the most basic level, I can't get the
> > focus to stay / go back to the field that was changed. Interesting
> > that it does seem to work in IE 7, but not FF.
>
> > $(document).ready(function(){
> >  $('#testField').change(function() { alert('wrong value');
> > this.focus(); });
> > });
>
> > Any ideas here? Or suggestions on how to reset focus back to the field
> > that changed?
>
> > Thanks,
>
> > Matt
>
> --
> --
> Scott Trudeau
> scott.trudeau AT gmail DOT comhttp://sstrudeau.com/
> AIM: sodthestreets

Reply via email to