rem: span.value = newvalue; textField.value = newvalue; xformsDispatchEvent(textField, "change"); 
add: if (span.valueSetByXForms == 0 && textField.value != span.value) { span.value = newvalue; textField.value = newvalue; xformsDispatchEvent(textField, "change"); } else { span.valueSetByXForms--; } 
context:                     control.watch("value", function(property, oldvalue, newvalue) {                        var span = this;                        var textField = span.childNodes[1];                        span.value = newvalue;                        textField.value = newvalue;                        xformsDispatchEvent(textField, "change");                        return newvalue;                    });
meta: 7801	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/7801/d1d6b431409d84a51d23fb0d0500a377eac0c6bf/xforms.js/buggy/src/examples/web/ops/javascript/xforms.js