diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 5505cd16fe0..fa8b8713a8f 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2378,7 +2378,10 @@ instance.web.DateTimeWidget = instance.web.Widget.extend({ var self = this; this.$input = this.$el.find('input.oe_datepicker_master'); this.$input_picker = this.$el.find('input.oe_datepicker_container'); - this.$input.change(this.on_change); + this.$input.change(function(){ + self.datetime_changed(); + }); + this.picker({ onClose: this.on_picker_select, onSelect: this.on_picker_select, @@ -2446,9 +2449,10 @@ instance.web.DateTimeWidget = instance.web.Widget.extend({ format_client: function(v) { return instance.web.format_value(v, {"widget": this.type_of_date}); }, - on_change: function() { + datetime_changed: function() { if (this.is_valid_()) { this.set_value_from_ui_(); + this.trigger("datetime_changed"); } } }); @@ -2472,7 +2476,7 @@ instance.web.form.FieldDatetime = instance.web.form.AbstractField.extend(instanc initialize_content: function() { if (!this.get("effective_readonly")) { this.datewidget = this.build_widget(); - this.datewidget.on_change.add_last(_.bind(function() { + this.datewidget.on('datetime_changed', this, _.bind(function() { this.set({'value': this.datewidget.get_value()}); }, this)); this.datewidget.appendTo(this.$el);