X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Fforms%2Fdialogs%2Fcheckbox.js;h=021163bb098571a2c8b37a76824986c28fc197ea;hb=7cd80714081a8ffdf4a1a8d2c72f120ed5ef3d6d;hp=96c356e0948ea4324df0dfbe892985cbe51c6363;hpb=ea7e3453c7b0f023b050aca6d9f83ab372860d91;p=ckeditor.git diff --git a/_source/plugins/forms/dialogs/checkbox.js b/_source/plugins/forms/dialogs/checkbox.js index 96c356e..021163b 100644 --- a/_source/plugins/forms/dialogs/checkbox.js +++ b/_source/plugins/forms/dialogs/checkbox.js @@ -79,14 +79,17 @@ CKEDITOR.dialog.add( 'checkbox', function( editor ) accessKey : 'V', setup : function( element ) { - this.setValue( element.getAttribute( 'value' ) || '' ); + var value = element.getAttribute( 'value' ); + // IE Return 'on' as default attr value. + this.setValue( CKEDITOR.env.ie && value == 'on' ? '' : value ); }, commit : function( data ) { - var element = data.element; + var element = data.element, + value = this.getValue(); - if ( this.getValue() ) - element.setAttribute( 'value', this.getValue() ); + if ( value && !( CKEDITOR.env.ie && value == 'on' ) ) + element.setAttribute( 'value', value ); else element.removeAttribute( 'value' ); } @@ -115,7 +118,8 @@ CKEDITOR.dialog.add( 'checkbox', function( editor ) { var replace = CKEDITOR.dom.element.createFromHtml( '', editor.document ); + + '/>', editor.document ); + element.copyAttributes( replace, { type : 1, checked : 1 } ); replace.replace( element ); editor.getSelection().selectElement( replace ); @@ -124,8 +128,9 @@ CKEDITOR.dialog.add( 'checkbox', function( editor ) } else { - if ( this.getValue() ) - element.setAttribute( 'checked', this.getValue() ); + var value = this.getValue(); + if ( value ) + element.setAttribute( 'checked', 'checked' ); else element.removeAttribute( 'checked' ); }