Changeset 5295
- Timestamp:
- 03/25/10 17:53:38 (3 years ago)
- Location:
- CKEditor/branches/versions/3.3.x
- Files:
-
- 2 added
- 3 edited
-
CHANGES.html (modified) (1 diff)
-
_source/plugins/forms/dialogs/hiddenfield.js (modified) (3 diffs)
-
_source/plugins/forms/images (added)
-
_source/plugins/forms/images/hiddenfield.gif (added)
-
_source/plugins/forms/plugin.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
CKEditor/branches/versions/3.3.x/CHANGES.html
r5278 r5295 45 45 Fixed issues:</p> 46 46 <ul> 47 <li>< /li>47 <li><a href="http://dev.fckeditor.net/ticket/4056">#4056</a> : Fixed hiddenfield problem.</li> 48 48 </ul> 49 49 <h3> -
CKEditor/branches/versions/3.3.x/_source/plugins/forms/dialogs/hiddenfield.js
r4858 r5295 7 7 return { 8 8 title : editor.lang.hidden.title, 9 hiddenField : null, 9 10 minWidth : 350, 10 11 minHeight : 110, … … 13 14 delete this.hiddenField; 14 15 15 var element = this.getParentEditor().getSelection().getSelectedElement(); 16 if ( element && element.getName() == "input" && element.getAttribute( 'type' ) == "checkbox" ) 16 var editor = this.getParentEditor(), 17 selection = editor.getSelection(), 18 element = selection.getSelectedElement(); 19 20 if ( element && element.getAttribute( '_cke_real_element_type' ) && element.getAttribute( '_cke_real_element_type' ) == 'hiddenfield' ) 17 21 { 18 22 this.hiddenField = element; 23 element = editor.restoreRealElement( this.hiddenField ); 19 24 this.setupContent( element ); 25 selection.selectElement( this.hiddenField ); 20 26 } 21 27 }, 22 28 onOk : function() 23 29 { 24 var editor, 25 element = this.hiddenField, 26 isInsertMode = !element; 30 var name = this.getValueOf( 'info', '_cke_saved_name' ), 31 value = this.getValueOf( 'info', 'value' ), 32 editor = this.getParentEditor(), 33 element = CKEDITOR.env.ie ? editor.document.createElement( '<input name="' + CKEDITOR.tools.htmlEncode( name ) + '">' ) : editor.document.createElement( 'input' ); 27 34 28 if ( isInsertMode ) 35 element.setAttribute( 'type', 'hidden' ); 36 this.commitContent( element ); 37 var fakeElement = editor.createFakeElement( element, 'cke_hidden', 'hiddenfield' ); 38 if ( !this.hiddenField ) 39 editor.insertElement( fakeElement ); 40 else 29 41 { 30 editor = this.getParentEditor(); 31 element = editor.document.createElement( 'input' ); 32 element.setAttribute( 'type', 'hidden' ); 42 fakeElement.replace( this.hiddenField ); 43 editor.getSelection().selectElement( fakeElement ); 33 44 } 34 35 if ( isInsertMode ) 36 editor.insertElement( element ); 37 this.commitContent( element ); 45 return true; 38 46 }, 39 47 contents : [ … … 59 67 { 60 68 if ( this.getValue() ) 61 element.setAttribute( ' _cke_saved_name', this.getValue() );69 element.setAttribute( 'name', this.getValue() ); 62 70 else 63 71 { 64 element.removeAttribute( '_cke_saved_name' );65 72 element.removeAttribute( 'name' ); 66 73 } -
CKEditor/branches/versions/3.3.x/_source/plugins/forms/plugin.js
r5149 r5295 19 19 'border: 1px dotted #FF0000;' + 20 20 'padding: 2px;' + 21 '}\n' ); 22 23 editor.addCss( 24 'img.cke_hidden' + 25 '{' + 26 'background-image: url(' + CKEDITOR.getUrl( this.path + 'images/hiddenfield.gif' ) + ');' + 27 'background-position: center center;' + 28 'background-repeat: no-repeat;' + 29 'border: 1px solid #a9a9a9;' + 30 'width: 16px;' + 31 'height: 16px;' + 21 32 '}' ); 22 33 23 34 // All buttons use the same code to register. So, to avoid 24 35 // duplications, let's use this tool function. … … 166 177 afterInit : function( editor ) 167 178 { 179 var dataProcessor = editor.dataProcessor, 180 htmlFilter = dataProcessor && dataProcessor.htmlFilter, 181 dataFilter = dataProcessor && dataProcessor.dataFilter; 182 168 183 // Cleanup certain IE form elements default values. 169 184 if ( CKEDITOR.env.ie ) 170 185 { 171 var dataProcessor = editor.dataProcessor,172 htmlFilter = dataProcessor && dataProcessor.htmlFilter;173 174 186 htmlFilter && htmlFilter.addRules( 175 187 { … … 186 198 } ); 187 199 } 200 201 if ( dataFilter ) 202 { 203 dataFilter.addRules( 204 { 205 elements : 206 { 207 input : function( element ) 208 { 209 if ( element.attributes.type == 'hidden' ) 210 return editor.createFakeParserElement( element, 'cke_hidden', 'hiddenfield' ); 211 } 212 } 213 } ); 214 } 188 215 }, 189 requires : [ 'image' ]216 requires : [ 'image', 'fakeobjects' ] 190 217 } ); 191 218
Note: See TracChangeset
for help on using the changeset viewer.
