1 2 3 4 5 6 7 8 9 | serverFormat: { selector: 'date', datePattern: 'dd-MM-yyyy', //服务器端是 oracle 日期格式 locale: 'en-us' }, valueToSendToServer = dojo.date.locale.format(this.dateTextBox.get("value"),serverFormat); valueToDisplayToClient = this.dateTextBox.set("value", dojo.date.locale.parse(valueFromServer, serverFormat)); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | require(["dojo/_base/declare", "dijit/form/DateTextBox", "dojo/date/locale", "dojo/dom", "dojo/domReady!"], function(declare, DateTextBox, locale, dom){ declare("OracleDateTextBox", DateTextBox, { oracleFormat: { selector: 'date', datePattern: 'dd-MMM-yyyy', locale: 'en-us' }, value: "", postMixInProperties: function(){ // 将字符串类型转换为日期类型的对象 this.inherited(arguments); // convert value to Date object this.value = locale.parse(this.value, this.oracleFormat); }, // 覆写 serialize 方法,将日期类型的对象转换成字符串类型写会到服务器端: serialize: function(dateObject, options){ return locale.format(dateObject, this.oracleFormat).toUpperCase(); } }); //从服务器端获取日期并且显示出来 function showServerValue(){ dom.byId('toServerValue').value = document.getElementsByName('oracle')[0].value; } new OracleDateTextBox({ value: "21-JUN-2016", name: "oracle", onChange: function(v){ setTimeout(showServerValue, 0)} }, "oracle").startup(); showServerValue(); }); |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |