rem: 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; 
add: xformsAddEventListener(control, "propertychange", function(event) { if (event.propertyName == "value") { var span = getEventTarget(event); if (!span.valueSetByXForms) { var textField = span.childNodes[1]; textField.value = span.value; span.valueSetByXForms = true; span.value = span.previousValue; xformsDispatchEvent(textField, "change"); } else { span.valueSetByXForms = false; } } 
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/e0a15c2148b52c8dbe739113139cb5ddda84267e/xforms.js/clean/src/examples/web/ops/javascript/xforms.js