This project is archived and is in readonly mode.

#239 ✓invalid

Form.Validator validationMonitor IE6 timing problem

Reported by Atmos4 | January 21st, 2010 @ 08:24 PM | in

Using Form.Validator and Form.Validator.Extras from More there is a timing problem with the onBlur validation in Interner Explorer 6. If I have a field with validate-match, the validation fails (is skipped) in IE6 during the onBlur validation, but works correctly during the onSubmit check. IE7/8 and other Browsers were not affected.

Increasing the delay in validationMonitor from 50 to 100 solved the problem for me.

- this.timer = this.validateField.delay(50, this, arguments);
+ this.timer = this.validateField.delay(100, this, arguments);

Though I wonder if this is related to the speed of the computer executing this?
This would mean it could fail even in other browsers on slower computers.

Comments and changes to this ticket

  • Aaron Newton

    Aaron Newton January 28th, 2010 @ 08:08 AM

    • Milestone set to
    • State changed from “new” to “open”
    • Assigned user set to “Aaron Newton”
  • JacobThornton

    JacobThornton June 22nd, 2010 @ 05:41 AM

    The difference between onsubmit and onblur in this case is the absence of setTimeout on the onSubmit validation... Have you tried running this method with no delay? I tried both (on parallels) and both worked for me...

    It seems really strange that changing the delay length by 50ms would effect whether or not the code is executed. If anything i would think it should be changed to: this.validateField.delay(0, this, arguments); Adding the set timeout adds the function to a queued in order to be executed at the next available moment (after the running js has executed)... 50ms/100ms/0ms shouldn't make a difference in that regard.

    John Resig has a nice article on how timeouts work in a single threaded environment if your interested -

  • Tim Wienk

    Tim Wienk November 4th, 2010 @ 11:59 PM

    • State changed from “open” to “invalid”
    • Milestone changed from to
    • Tag changed from form validator timing ie6 to race condition, form.validator, ie6, timing
    • Milestone order changed from “0” to “0”

    It seems to be working for me as well. Will mark this as invalid for now. If anything new pops up, this can be reopened.

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

The MooTools Extensions

People watching this ticket