@@ -198,15 +198,18 @@ export default React.createClass({
198
198
this . props . onChange ( null ) ;
199
199
}
200
200
} ,
201
- handleHide ( e ) {
201
+ handleHide ( ) {
202
202
if ( this . state . inputFocused ) {
203
203
return ;
204
204
}
205
205
this . setState ( {
206
206
focused : false
207
207
} ) ;
208
208
if ( this . props . onBlur ) {
209
- this . props . onBlur ( e ) ;
209
+ const event = document . createEvent ( 'CustomEvent' ) ;
210
+ event . initEvent ( "Change Date" , true , false ) ;
211
+ ReactDOM . findDOMNode ( this . refs . hiddenInput ) . dispatchEvent ( event ) ;
212
+ this . props . onBlur ( event ) ;
210
213
}
211
214
} ,
212
215
handleKeyDown ( e ) {
@@ -215,7 +218,10 @@ export default React.createClass({
215
218
focused : false
216
219
} ) ;
217
220
if ( this . props . onBlur ) {
218
- this . props . onBlur ( e ) ;
221
+ const event = document . createEvent ( 'CustomEvent' ) ;
222
+ event . initEvent ( "Change Date" , true , false ) ;
223
+ ReactDOM . findDOMNode ( this . refs . hiddenInput ) . dispatchEvent ( event ) ;
224
+ this . props . onBlur ( event ) ;
219
225
}
220
226
}
221
227
} ,
@@ -228,7 +234,10 @@ export default React.createClass({
228
234
focused : true
229
235
} ) ;
230
236
if ( this . props . onFocus ) {
231
- this . props . onFocus ( e ) ;
237
+ const event = document . createEvent ( 'CustomEvent' ) ;
238
+ event . initEvent ( "Change Date" , true , false ) ;
239
+ ReactDOM . findDOMNode ( this . refs . hiddenInput ) . dispatchEvent ( event ) ;
240
+ this . props . onFocus ( event ) ;
232
241
}
233
242
} ,
234
243
handleBlur ( e ) {
@@ -350,6 +359,7 @@ export default React.createClass({
350
359
if ( this . props . onBlur ) {
351
360
const event = document . createEvent ( 'CustomEvent' ) ;
352
361
event . initEvent ( "Change Date" , true , false ) ;
362
+ ReactDOM . findDOMNode ( this . refs . hiddenInput ) . dispatchEvent ( event ) ;
353
363
this . props . onBlur ( event ) ;
354
364
}
355
365
if ( this . props . onChange ) {
@@ -377,7 +387,7 @@ export default React.createClass({
377
387
</ Popover >
378
388
</ Overlay >
379
389
< div ref = "overlayContainer" />
380
- < input type = "hidden" id = { this . props . id } name = { this . props . name } value = { this . state . value || '' } />
390
+ < input ref = "hiddenInput" type = "hidden" id = { this . props . id } name = { this . props . name } value = { this . state . value || '' } />
381
391
< FormControl
382
392
onKeyDown = { this . handleKeyDown }
383
393
value = { this . state . inputValue || '' }
0 commit comments