I'm currently facing a weird issue with the onchange event. I have an
web application where each blur event makes a call the webserver to
store the value of the textfield. I only want to trigger that ajax
call when something has changed, so i track the onchange event on each
textfield to set a flag if something has changed.

The onchange event always fires to first time when i click outside of
a textfield even if i didn;t change anything in the field.

I narrowed it down to the following: A prefilled textfield always
fires the onchange event the first time you leave the textfield. An
initially empty textfield does not fire the onchange event.

Does anybody has any idea why this happens?

Thanks for the help.

Sample code (IE 8 on Windows 7 computer):

script:

$('input[type=text]').each(function() {
        $(this).blur(onBlur);
        $(this).change(onChange);
});

HTML:

<input type="text" id="ctrlName" class="ui-widget-content small"
value="abc" /> -- This field fires onchange even nothing has changed
<input type="text" id="ctrlLength" class="ui-widget-content small"
value="" /> -- this field does not fire the onchange event as
expected.

Reply via email to