[ Index ] |
|
Code source de LifeType 1.2.4 |
1 /******** 2 * Lifetype.Forms namespace 3 * 4 * Includes all functions related to forms, form validation, lists, etc. 5 ***************/ 6 7 Lifetype.Forms = function() {} 8 9 Lifetype.Forms.List = function() {} 10 11 /** 12 * @static 13 * Removes the selected items from the list 14 * @param elem The id of an HTML object 15 */ 16 Lifetype.Forms.List.removeSelected = function( elem ) 17 { 18 list = document.getElementById( elem ); 19 20 for( i = 0; i < list.options.length; i++ ) { 21 if( list.options[i].selected ) { 22 // the element is selected, remove it 23 list.remove( i ); 24 } 25 } 26 } 27 28 /** 29 * @static 30 * Removes al elements from a list 31 * @param elem The id of an HTML object 32 */ 33 Lifetype.Forms.List.removeAll = function( elem ) 34 { 35 list = document.getElementById( elem ); 36 37 for( i = 0; i < list.options.length; i++ ) { 38 list.remove( i ); 39 } 40 } 41 42 /** 43 * @static 44 * Selects all elements from a list 45 * @param elem The id of an HTML object 46 */ 47 Lifetype.Forms.List.selectAll = function( elem ) 48 { 49 list = document.getElementById( elem ); 50 51 for( i = 0; i < list.options.length; i++ ) { 52 list.options[i].selected = true; 53 } 54 } 55 56 57 // 58 // :TODO: 59 // Move the functions above to the Lifetype.Forms.List namespace 60 // 61 62 // 63 // counter to keep track of how many elements we have! 64 // 65 var numFields = 2; 66 var debug = false; 67 68 function hideElement(elem) 69 { 70 elem.type = 'hidden'; 71 } 72 73 function showElement(elem) 74 { 75 elem.type = 'file'; 76 } 77 function toggleElement(elem) 78 { 79 if( elem.type == 'hidden') 80 showElement(elem); 81 else 82 hideElement(elem); 83 } 84 85 function addElementToForm (containerName, fieldType, fieldName, fieldValue) 86 { 87 var separator = document.getElementById('marker'); 88 var container = document.getElementById(containerName); 89 if (navigator.userAgent.indexOf("MSIE") != -1){//isie 90 var fileTag ="<input type='"+fieldType+"' value='' name='"+fieldName+"_"+numFields+"'>"; 91 var fileObj = document.createElement(fileTag); 92 var newLine = document.createElement('BR'); 93 container.insertBefore(fileObj,separator); 94 container.insertBefore(newLine,separator); 95 numFields++; 96 }//endie 97 else 98 {//notie 99 if (document.getElementById) { 100 var input = document.createElement('INPUT'); 101 var newLine = document.createElement('BR'); 102 var newFieldName = fieldName + '_' + numFields; 103 if( debug) window.alert('adding field ' + newFieldName); 104 if (document.all) { 105 input.type = fieldType; 106 input.name = newFieldName; 107 input.value = fieldValue; 108 } 109 else if (document.getElementById) { 110 input.setAttribute('type', fieldType); 111 input.setAttribute('name', newFieldName); 112 input.setAttribute('value', fieldValue); 113 } 114 115 container.insertBefore(input,separator); 116 container.insertBefore(newLine,separator); 117 numFields++; 118 } 119 }//endnotie 120 } 121 122 function getField (form, fieldName) { 123 if (!document.all) 124 return form[fieldName]; 125 else // IE has a bug not adding dynamically created field 126 // as named properties so we loop through the elements array 127 for (var e = 0; e < form.elements.length; e++) 128 if (form.elements[e].name == fieldName) 129 return form.elements[e]; 130 return null; 131 } 132 133 function removeField (form, fieldName) { 134 var field = getField (form, fieldName); 135 if (field && !field.length) 136 field.parentNode.removeChild(field); 137 } 138 139 function toggleField (form, fieldName, value) { 140 var field = getField (form, fieldName); 141 if (field) 142 removeField (form, fieldName); 143 else 144 addField (form, 'hidden', fieldName, value); 145 } 146 147 /** 148 * sets a field in the given document (like 'document' or 'parent.opener.document') 149 * This function is useful to set a field regardless of in which form it is located 150 */ 151 function setDocumentField(dest, fieldName, value ) 152 { 153 element = dest.getElementById( fieldName ); 154 element.value = value; 155 } 156 157 function appendDocumentList(dest, fieldName, value, item ) 158 { 159 dstList = dest.getElementById( fieldName ); 160 161 // check if the element is already there 162 found = false; 163 j = 0; 164 while( j < dstList.options.length && !found ) { 165 if( dstList.options[j].text == item && dstList.options[j].value == value ) { 166 // element found! 167 found = true; 168 } 169 j++; 170 } 171 172 // add the element only if not found 173 if( !found ) { 174 newOpt = new Option( item, value ); 175 dstList.options[dstList.options.length] = newOpt; 176 } 177 178 return true; 179 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Mon Nov 26 21:04:15 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |