Changeset 254
- Timestamp:
- 07/05/05 15:59:21 (8 years ago)
- Location:
- trunk/plugins/Forms
- Files:
-
- 5 modified
-
forms.js (modified) (9 diffs)
-
popups/fieldset.html (modified) (3 diffs)
-
popups/input.html (modified) (5 diffs)
-
popups/select.html (modified) (3 diffs)
-
popups/textarea.html (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/plugins/Forms/forms.js
r236 r254 85 85 this.value = value; 86 86 } 87 function setAttr(el, attr, value) {88 if (value != "")89 el.setAttribute(attr, value);90 else91 el.removeAttribute(attr);92 }93 87 var outparam = new Object(); 94 88 var type = button_id; … … 145 139 node = editor.getParentElement(); 146 140 var tag = node.tagName.toLowerCase() 141 if (node && (tag == "legend")) { 142 node = node.parentElement; 143 tag = node.tagName.toLowerCase(); 144 } 147 145 if (node && !(tag == "textarea" || tag == "select" || tag == "input" || tag == "label" || tag == "fieldset")) 148 146 node = null; … … 161 159 outparam.f_cols = node.cols; 162 160 outparam.f_rows = node.rows; 163 outparam.f_ value= node.innerHTML;161 outparam.f_text = node.innerHTML; 164 162 outparam.f_wrap = node.getAttribute("wrap"); 165 outparam.f_read only = node.getAttribute("readonly");163 outparam.f_readOnly = node.getAttribute("readOnly"); 166 164 outparam.f_disabled = node.getAttribute("disabled"); 167 165 outparam.f_tabindex = node.getAttribute("tabindex"); … … 183 181 outparam.f_value = node.value; 184 182 outparam.f_size = node.size; 185 outparam.f_max length = node.maxLength;186 outparam.f_read only = node.getAttribute("readonly");183 outparam.f_maxLength = node.maxLength; 184 outparam.f_readOnly = node.getAttribute("readOnly"); 187 185 outparam.f_disabled = node.getAttribute("disabled"); 188 186 outparam.f_tabindex = node.getAttribute("tabindex"); … … 233 231 case "fieldset": 234 232 if(node.firstChild.tagName.toLowerCase()=="legend") 235 outparam.f_ legend= node.firstChild.innerHTML;233 outparam.f_text = node.firstChild.innerHTML; 236 234 else 237 outparam.f_ legend= "";235 outparam.f_text = ""; 238 236 break; 239 237 } … … 258 256 outparam.f_value = ""; 259 257 outparam.f_size = ""; 260 outparam.f_max length = "";258 outparam.f_maxLength = ""; 261 259 outparam.f_checked = ""; 262 260 outparam.f_src = ""; 263 261 outparam.f_onclick = ""; 264 262 outparam.f_wrap = ""; 265 outparam.f_read only = "false";263 outparam.f_readOnly = "false"; 266 264 outparam.f_disabled = "false"; 267 265 outparam.f_tabindex = ""; … … 273 271 editor._popupDialog("plugin://Forms/" + tagName + ".html", function(param) { 274 272 if (param) { 273 if(param["f_cols"]) 274 if (isNaN(parseInt(param["f_cols"],10)) || parseInt(param["f_cols"],10) <= 0) 275 param["f_cols"] = ""; 276 if(param["f_rows"]) 277 if(isNaN(parseInt(param["f_rows"],10)) || parseInt(param["f_rows"],10) <= 0) 278 param["f_rows"] = ""; 279 if(param["f_size"]) 280 if(isNaN(parseInt(param["f_size"],10)) || parseInt(param["f_size"],10) <= 0) 281 param["f_size"] = ""; 282 if(param["f_maxlength"]) 283 if(isNaN(parseInt(param["f_maxLength"],10)) || parseInt(param["f_maxLength"],10) <= 0) 284 param["f_maxLength"] = ""; 275 285 if(node) { 276 //node.name = param["f_name"]; 277 setAttr(node, "name", param["f_name"]); 286 //prepare existing Element 287 for (field in param) { 288 alert(field.substring(2,20) + '=' + param[field]); 289 if ((field=="f_text") || (field=="f_options") || (field=="f_onclick") || (field=="f_checked"))continue; 290 if (param[field] != "") 291 node.setAttribute(field.substring(2,20), param[field]); 292 else 293 node.removeAttribute(field.substring(2,20)); 294 } 278 295 if (type == "textarea") { 279 if (isNaN(parseInt(param["f_cols"],10)) || parseInt(param["f_cols"],10) <= 0) 280 param["f_cols"] = ""; 281 setAttr(node, "cols", param["f_cols"]); 282 if(isNaN(parseInt(param["f_rows"],10)) || parseInt(param["f_rows"],10) <= 0) 283 param["f_rows"] = ""; 284 setAttr(node, "rows", param["f_rows"]); 285 setAttr(node, "value", param["f_value"]); //for ta in editor 286 setAttr(node, "wrap", param["f_wrap"]); 287 setAttr(node, "tabindex", param["f_tabindex"]); 288 setAttr(node, "accesskey", param["f_accesskey"]); 289 setAttr(node, "readonly", param["f_readonly"]); 290 setAttr(node, "disabled", param["f_disabled"]); 291 node.innerHTML = param["f_value"]; //for ta on web page 296 node.innerHTML = param["f_text"]; 292 297 } else if(type == "select") { 293 if(isNaN(parseInt(param["f_size"],10)) || parseInt(param["f_size"],10) <= 0) 294 param["f_size"] = ""; 295 setAttr(node, "size", param["f_size"]); 296 setAttr(node, "multiple" ,param["f_multiple"]); 297 setAttr(node, "disabled", param["f_disabled"]); 298 setAttr(node, "tabindex", param["f_tabindex"]); 299 node.options.length = 0; 298 node.options.length = 0; 300 299 var optionsList = param["f_options"]; 301 300 for (i=0; i<= optionsList.length-1; i++) { … … 303 302 } 304 303 } else if(type == "label") { 305 setAttr(node, "for", param["f_for"]); 306 setAttr(node, "accesskey" ,param["f_accesskey"]); 307 node.innerHTML = param["f_text"]; 304 node.innerHTML = param["f_text"]; 308 305 } else if(type == "fieldset") { 309 if(outparam.f_ legend != "")306 if(outparam.f_text != "") { 310 307 if(node.firstChild.tagName.toLowerCase()=="legend") 311 node.firstChild.innerHTML = param["f_legend"]; 312 else { 313 // not implemented jet 314 } 315 } else { //type == "input" 316 for (field in param) { 317 switch (field) { 318 case "f_tabindex": setAttr(node, "tabindex", param["f_tabindex"]); break; 319 case "f_accesskey": setAttr(node, "accesskey", param["f_accesskey"]); break; 320 case "f_readonly": setAttr(node, "readonly", param["f_readonly"]); break; 321 case "f_disabled": setAttr(node, "disabled", param["f_disabled"]); break; 322 case "f_type": node.type = param["f_type"]; break; 323 case "f_value": setAttr(node,"value", param["f_value"]); break; 324 case "f_size": 325 if(isNaN(parseInt(param["f_size"],10)) || parseInt(param["f_size"],10) <= 0) 326 param["f_size"] = ""; 327 setAttr(node, "size", param["f_size"]); break; 328 case "f_maxlength": 329 if(isNaN(parseInt(param["f_maxlength"],10)) || parseInt(param["f_maxlength"],10) <= 0) 330 param["f_maxlength"] = ""; 331 setAttr(node, "maxLength", param["f_maxlength"]); break; 332 case "f_checked": setAttr(node, "checked", param["f_checked"]); break; 333 case "f_src": setAttr(node, "src", param["f_src"]); break; 334 case "f_onclick": setAttr(node, "onclick", param["f_onclick"]); 335 node.onclick = ""; 336 if(param["f_onclick"]!="") { 337 node.onclick = param["f_onclick"]; 338 } break; 339 } 340 } 308 node.firstChild.innerHTML = param["f_text"]; 309 } else {}// not implemented jet 310 } else if((type == "checkbox") || (type == "radio")) { //input 311 if(param["f_checked"]!="") 312 node.checked = true; 313 else 314 node.checked = false; 315 } else { 316 if(param["f_onclick"]){ 317 node.onclick = ""; 318 if(param["f_onclick"]!="") 319 node.onclick = param["f_onclick"]; 320 } 341 321 } 342 322 } else { 323 //create Element 324 var text = ""; 325 for (field in param) { 326 if (!param[field]) continue; 327 if ((param[field]=="") || (field=="f_text")|| (field=="f_options"))continue; 328 text += " " + field.substring(2,20) + '="' + param[field] + '"'; 329 } 330 343 331 if(type == "textarea") { 344 text = '<textarea name="' + param["f_name"] + '"' + 345 ' cols="' + param["f_cols"] + '"' + 346 ' rows="' + param["f_rows"] + '"'; 347 if (param["f_wrap"] != "") text += ' wrap="' + param["f_wrap"] + '"'; 348 if (param["f_tabindex"] != "") text += ' tabindex="' + param["f_tabindex"] + '"'; 349 if (param["f_accesskey"] != "") text += ' accesskey="' + param["f_accesskey"] + '"'; 350 if (param["f_readonly"] == "true") text += ' readonly="true"'; //don't know why ="true" 351 if (param["f_disabled"] == "true") text += ' disabled="true"'; //don't know why ="true" 352 text += '>' + param["f_value"] + '</textarea>'; 332 text = '<textarea' + text + '>' + param["f_text"] + '</textarea>'; 353 333 } else if(type == "select") { 354 text = '<select name="'+param["f_name"]+'"'; 355 if (param["f_size"]) text += ' size="'+parseInt(param["f_size"],10)+'"'; 356 if (param["f_tabindex"] != "") text += ' tabindex="' + param["f_tabindex"] + '"'; 357 if (param["f_multiple"] == "true") text += ' multiple="true"'; //don't know why ="true" 358 if (param["f_disabled"] == "true") text += ' disabled="true"'; //don't know why ="true" 359 text += '>'; 334 text = '<select' + text + '>'; 360 335 var optionsList = param["f_options"]; 361 336 for (i=0; i<= optionsList.length-1; i++) { … … 364 339 text += '</select>'; 365 340 } else if(type == "label") { 366 text = '<label'; 367 if (param["f_for"] != "") text += ' for="'+param["f_for"]+'"'; 368 if (param["f_accesskey"] != "") text += ' accesskey="' + param["f_accesskey"] + '"'; 369 text += '>' + param["f_text"] + '</label>'; 341 text = '<label' + text + '>' + param["f_text"] + '</label>'; 370 342 } else if(type == "fieldset") { 371 text = '<fieldset >';372 if (param["f_legend"] != "") text += '<legend>' + param["f_ legend"] + '</legend>';343 text = '<fieldset' + text + '>'; 344 if (param["f_legend"] != "") text += '<legend>' + param["f_text"] + '</legend>'; 373 345 text += '</fieldset>'; 374 346 } else { 375 text = '<input type="'+type+'"' + 376 ' name="'+param["f_name"]+'"'; 377 for (field in param) { 378 var value = param[field]; 379 if (!value) continue; 380 switch (field) { 381 case "f_value": if (param["f_value"] != "") text += ' value="'+param["f_value"]+'"'; break; 382 case "f_size": if (param["f_size"] != "") text += ' size="'+parseInt(param["f_size"],10)+'"'; break; 383 case "f_maxlength": if (param["f_maxlength"] != "") text += ' maxlength="'+parseInt(param["f_maxlength"],10)+'"'; break; 384 case "f_checked": if (param["f_checked"] == "true") text += ' checked'; break; 385 case "f_src": if (param["f_src"] != "") text += ' src="'+param["f_src"]+'"'; break; 386 case "f_onclick": if (param["f_onclick"] != "") text += ' onClick="'+param["f_onclick"]+'"'; break; 387 case "f_tabindex": if (param["f_tabindex"] != "") text += ' tabindex="'+param["f_tabindex"]+'"'; break; 388 case "f_accesskey": if (param["f_accesskey"] != "") text += ' accesskey="'+param["f_accesskey"]+'"'; 389 case "f_readonly": if (param["f_readonly"] == "true") text += ' readonly="true"'; //don't know why ="true" 390 case "f_disabled": if (param["f_disabled"] == "true") text += ' disabled="true"'; break;//don't know why ="true" 391 } 392 } 393 text += '>'; 347 text = '<input type="'+type+'"' + text + '>'; 394 348 } 395 349 editor.insertHTML(text); -
trunk/plugins/Forms/popups/fieldset.html
r239 r254 12 12 __dlg_init(); 13 13 var param = window.dialogArguments; 14 document.getElementById("f_ legend").value = param["f_legend"];15 document.getElementById("f_ legend").focus();14 document.getElementById("f_text").value = param["f_text"]; 15 document.getElementById("f_text").focus(); 16 16 }; 17 17 … … 19 19 // pass data back to the calling window 20 20 var param = new Object(); 21 param["f_ legend"] = document.getElementById("f_legend").value;21 param["f_text"] = document.getElementById("f_text").value; 22 22 __dlg_close(param); 23 23 return false; … … 36 36 <form action="" method="get"> 37 37 <div class="fr">Legend:</div> 38 <input type="text" name=" legend" id="f_legend" />38 <input type="text" name="text" id="f_text" /> 39 39 <p /> 40 40 <div id="buttons"> -
trunk/plugins/Forms/popups/input.html
r239 r254 22 22 case "text": 23 23 case "password": 24 fields = ["f_name", "f_value", "f_read only", "f_disabled", "f_tabindex", "f_accesskey", "f_size"];24 fields = ["f_name", "f_value", "f_readOnly", "f_disabled", "f_tabindex", "f_accesskey", "f_size", "f_maxLength"]; 25 25 height = 350; 26 26 document.getElementById("txt").style.display = "block"; … … 63 63 for (var i in fields) { 64 64 switch (fields[i]) { 65 case "f_read only":65 case "f_readOnly": 66 66 case "f_disabled": 67 67 case "f_checked": 68 document.getElementById(fields[i]).checked = param[fields[i]]=="true"; break;68 document.getElementById(fields[i]).checked = (param[fields[i]]==fields[i].substring(2,20)) || (param[fields[i]] == true); break; 69 69 default: 70 70 document.getElementById(fields[i]).value = param[fields[i]]; break; … … 84 84 // pass data back to the calling window 85 85 var param = new Object(); 86 param["f_type"] = type;87 86 for (var i in fields) { 88 87 switch (fields[i]) { 89 case "f_read only":88 case "f_readOnly": 90 89 case "f_disabled": 91 90 case "f_checked": 92 param[fields[i]] = (document.getElementById(fields[i]).checked)?"true":""; break; 91 if(HTMLArea.is_ie) 92 param[fields[i]] = (document.getElementById(fields[i]).checked)?true:""; 93 else 94 param[fields[i]] = (document.getElementById(fields[i]).checked)?fields[i].substring(2,20):""; 95 break; 93 96 default: 94 97 param[fields[i]] = document.getElementById(fields[i]).value; break; … … 149 152 <div id="txt"> 150 153 <div class="fr">Read Only</div> 151 <input type="checkbox" name="read only" id="f_readonly" value="readonly" />154 <input type="checkbox" name="readOnly" id="f_readOnly" value="readOnly" /> 152 155 <p /> 153 156 … … 159 162 <div class="space"></div> 160 163 <div class="fr">Max length:</div> 161 <input type="text" name="max length" id="f_maxlength" size="5" title="Maximum number of characters accepted" />164 <input type="text" name="maxLength" id="f_maxLength" size="5" title="Maximum number of characters accepted" /> 162 165 <div class="space"></div> 163 166 </fieldset> -
trunk/plugins/Forms/popups/select.html
r239 r254 18 18 case "f_multiple": 19 19 case "f_disabled": 20 document.getElementById(fields[i]).checked = param[fields[i]] == "true"; break;20 document.getElementById(fields[i]).checked = (param[fields[i]]==fields[i].substring(2,20)) || (param[fields[i]] == true); break; 21 21 case "f_size": 22 22 document.getElementById(fields[i]).value = (param[fields[i]]<=0)?"":param[fields[i]]; break; … … 46 46 param["f_multiple"] = ""; 47 47 else 48 param["f_multiple"] = (document.getElementById(fields[i]).checked)?" true":"";48 param["f_multiple"] = (document.getElementById(fields[i]).checked)?"multiple":""; 49 49 break; 50 50 case "f_disabled": 51 param[fields[i]] = (document.getElementById(fields[i]).checked)?" true":""; break;51 param[fields[i]] = (document.getElementById(fields[i]).checked)?"disabled":""; break; 52 52 default: 53 53 param[fields[i]] = document.getElementById(fields[i]).value; break; … … 163 163 <p /> 164 164 <div class="fr">Size:</div> 165 <input name="size" id="f_size" type="text" value="" size="15" >165 <input name="size" id="f_size" type="text" value="" size="15" /> 166 166 <p /> 167 167 <div class="fr"><nobr>Multiple Select</nobr></div> 168 <input name="multiple" id="f_multiple" type="checkbox" >168 <input name="multiple" id="f_multiple" type="checkbox" value="multiple" /> 169 169 <p /> 170 170 <div class="fr">Disabled</div> -
trunk/plugins/Forms/popups/textarea.html
r239 r254 8 8 <script type="text/javascript"> 9 9 10 var fields = ["f_name", "f_ value", "f_cols", "f_rows", "f_wrap", "f_tabindex", "f_accesskey", "f_readonly", "f_disabled"];10 var fields = ["f_name", "f_text", "f_cols", "f_rows", "f_wrap", "f_tabindex", "f_accesskey", "f_readOnly", "f_disabled"]; 11 11 12 12 function Init() { 13 window.resizeTo( 480,260);13 window.resizeTo(280,260); 14 14 __dlg_translate("Forms"); 15 15 __dlg_init(); … … 17 17 for (var i in fields) { 18 18 switch (fields[i]) { 19 case "f_read only":19 case "f_readOnly": 20 20 case "f_disabled": 21 document.getElementById(fields[i]).checked = param[fields[i]]=="true";break;21 document.getElementById(fields[i]).checked = (param[fields[i]]==fields[i].substring(2,20)) || (param[fields[i]] == true); break; 22 22 default: 23 23 document.getElementById(fields[i]).value = param[fields[i]]; break; … … 38 38 for (var i in fields) { 39 39 switch (fields[i]) { 40 case "f_read only":40 case "f_readOnly": 41 41 case "f_disabled": 42 param[fields[i]] = (document.getElementById(fields[i]).checked)?"true":""; break; 42 if(HTMLArea.is_ie) 43 param[fields[i]] = (document.getElementById(fields[i]).checked)?true:""; 44 else 45 param[fields[i]] = (document.getElementById(fields[i]).checked)?fields[i].substring(2,20):""; 46 break; 43 47 default: 44 48 param[fields[i]] = document.getElementById(fields[i]).value; break; … … 86 90 <p /> 87 91 <div class="fr">Read Only</div> 88 <input type="checkbox" name="read only" id="f_readonly" value="readonly" />92 <input type="checkbox" name="readOnly" id="f_readOnly" value="readOnly" /> 89 93 <p /> 90 94 <div class="fr">Disabled</div> … … 99 103 100 104 <div class="fr">Initial Text:</div> 101 <input type="text" name=" value" id="f_value" title="Default text (optional)" />105 <input type="text" name="text" id="f_text" title="Default text (optional)" /> 102 106 <div id="buttons"> 103 107 <button type="button" name="ok" onclick="return onOK();">OK</button>
