Changeset 236 for trunk/plugins/Forms


Ignore:
Timestamp:
06/20/05 13:40:55 (14 years ago)
Author:
gocher
Message:

new elements for plugin forms
file, fieldset, label

and for existing elements more attributes

Location:
trunk/plugins/Forms
Files:
5 added
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/Forms/forms.js

    r200 r236  
    5454        ["text",        "Text Field"], 
    5555  ["password",    "Password Field"], 
     56  ["file",        "File Field"], 
    5657        ["button",      "Button"], 
    5758  ["submit",      "Submit Button"], 
    5859  ["reset",       "Reset Button"],  
    5960        ["image",       "Image Button"], 
    60         ["hidden",      "Hidden Field"] 
     61        ["hidden",      "Hidden Field"], 
     62  ["label",       "Label"], 
     63  ["fieldset",    "Field Set"] 
    6164        ]; 
    6265 
     
    9093  var outparam = new Object(); 
    9194  var type = button_id; 
     95  var sel = editor._getSelection(); 
     96  var range = editor._createRange(sel); 
    9297  if (button_id=="form") { //Form 
    93         var sel = editor._getSelection(); 
    94           var range = editor._createRange(sel); 
    95     // see if selection is inside an existing 'form' tag  
     98        // see if selection is inside an existing 'form' tag  
    9699          var pe = editor.getParentElement(); 
    97100          var frm = null; 
     
    137140     
    138141  } else { // form element (checkbox, radio, text, password, textarea, select, button, submit, reset, image, hidden) 
    139           var sel = editor._getSelection(); 
    140           var range = editor._createRange(sel); 
    141142          var tagName = ""; 
    142143          // see if selection is an form element 
     
    144145                  node = editor.getParentElement(); 
    145146                  var tag = node.tagName.toLowerCase() 
    146                   if (node && !(tag == "textarea" || tag == "select" || tag == "input")) 
     147                  if (node && !(tag == "textarea" || tag == "select" || tag == "input" || tag == "label" || tag == "fieldset")) 
    147148                          node = null; 
    148149          } 
     
    169170        case "select": 
    170171                            outparam.f_size = parseInt(node.size); 
    171                                   outparam.f_multiple = node.multiple; 
     172                                  outparam.f_multiple = node.getAttribute("multiple"); 
     173          outparam.f_disabled = node.getAttribute("disabled"); 
     174          outparam.f_tabindex = node.getAttribute("tabindex"); 
    172175          var a_options = new Array();  
    173176                            for (var i=0; i<=node.options.length-1; i++) { 
     
    181184                                        outparam.f_size = node.size; 
    182185                                        outparam.f_maxlength = node.maxLength; 
     186          outparam.f_readonly = node.getAttribute("readonly"); 
     187          outparam.f_disabled = node.getAttribute("disabled"); 
     188          outparam.f_tabindex = node.getAttribute("tabindex"); 
     189          outparam.f_accesskey = node.getAttribute("accesskey"); 
    183190                                        break; 
    184191                                case "hidden": 
     192          outparam.f_value = node.value; 
     193          break; 
    185194                                case "submit": 
    186195                                case "reset": 
    187196                                  outparam.f_value = node.value; 
     197          outparam.f_disabled = node.getAttribute("disabled"); 
     198          outparam.f_tabindex = node.getAttribute("tabindex"); 
     199          outparam.f_accesskey = node.getAttribute("accesskey"); 
    188200                                  break; 
    189201                                case "checkbox": 
    190202                                case "radio":  
    191203                                  outparam.f_value = node.value; 
    192                                 outparam.f_checked = node.checked 
     204                                outparam.f_checked = node.checked; 
     205          outparam.f_disabled = node.getAttribute("disabled"); 
     206          outparam.f_tabindex = node.getAttribute("tabindex"); 
     207          outparam.f_accesskey = node.getAttribute("accesskey"); 
    193208                                break; 
    194209                                case "button":  
    195210                                  outparam.f_value = node.value; 
    196211                                        outparam.f_onclick = node.getAttribute("onclick"); 
     212          outparam.f_disabled = node.getAttribute("disabled"); 
     213          outparam.f_tabindex = node.getAttribute("tabindex"); 
     214          outparam.f_accesskey = node.getAttribute("accesskey"); 
    197215                                  break; 
    198216                                case "image": 
    199217                                  outparam.f_value = node.value; 
    200218                                        outparam.f_src = node.src; 
     219          outparam.f_disabled = node.getAttribute("disabled"); 
     220          outparam.f_tabindex = node.getAttribute("tabindex"); 
     221          outparam.f_accesskey = node.getAttribute("accesskey"); 
    201222                                  break; 
     223        case "file": 
     224          outparam.f_disabled = node.getAttribute("disabled"); 
     225          outparam.f_tabindex = node.getAttribute("tabindex"); 
     226          outparam.f_accesskey = node.getAttribute("accesskey"); 
     227                                  break; 
     228        case "label": 
     229          outparam.f_text = node.innerHTML; 
     230          outparam.f_for = node.getAttribute("for"); 
     231          outparam.f_accesskey = node.getAttribute("accesskey"); 
     232          break; 
     233        case "fieldset": 
     234          if(node.firstChild.tagName.toLowerCase()=="legend") 
     235            outparam.f_legend = node.firstChild.innerHTML; 
     236          else 
     237            outparam.f_legend = ""; 
     238          break; 
    202239      }     
    203240                } else { 
     
    206243        case "textarea": 
    207244        case "select": 
    208           tagName = button_id 
     245        case "label": 
     246        case "fieldset": 
     247          tagName = button_id; 
    209248          break; 
    210249        default: 
     
    228267      outparam.f_tabindex = ""; 
    229268      outparam.f_accesskey = ""; 
     269      outparam.f_for = ""; 
     270      outparam.f_text = ""; 
     271      outparam.f_legend = ""; 
    230272          }; 
    231273        editor._popupDialog("plugin://Forms/" + tagName + ".html", function(param) { 
    232274                if (param) { 
    233275                        if(node) { 
    234                             node.name = param["f_name"]; 
     276                            //node.name = param["f_name"]; 
     277          setAttr(node, "name", param["f_name"]); 
    235278                            if (type == "textarea") { 
    236279            if (isNaN(parseInt(param["f_cols"],10)) || parseInt(param["f_cols"],10) <= 0) 
     
    244287            setAttr(node, "tabindex", param["f_tabindex"]); 
    245288            setAttr(node, "accesskey", param["f_accesskey"]); 
    246                                     setAttr(node, "readonly", param["f_readonly"]); 
     289            setAttr(node, "readonly", param["f_readonly"]); 
    247290            setAttr(node, "disabled", param["f_disabled"]); 
    248291            node.innerHTML = param["f_value"]; //for ta on web page 
    249292                            } else if(type == "select") { 
    250                                     node.requiredfield = param["f_requiredfield"]; 
    251293                                    if(isNaN(parseInt(param["f_size"],10)) || parseInt(param["f_size"],10) <= 0) 
    252                                             node.removeAttribute("size"); 
    253                                           else  
    254               node.size = param["f_size"]; 
    255                                     node.multiple = param["f_multiple"]; 
    256                                     node.options.length = 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; 
    257300                                    var optionsList =  param["f_options"]; 
    258301                                    for (i=0; i<= optionsList.length-1; i++) { 
    259302                                            node.options[i] = new Option(optionsList[i].text, optionsList[i].value) 
    260303                                    } 
    261                             } else {  //type == "input" 
     304                            } else if(type == "label") { 
     305                                    setAttr(node, "for", param["f_for"]); 
     306                                          setAttr(node, "accesskey" ,param["f_accesskey"]); 
     307            node.innerHTML = param["f_text"]; 
     308          } else if(type == "fieldset") { 
     309            if(outparam.f_legend != "") 
     310                                      if(node.firstChild.tagName.toLowerCase()=="legend") 
     311                node.firstChild.innerHTML = param["f_legend"]; 
     312              else { 
     313                // not implemented jet 
     314              } 
     315          } else {  //type == "input" 
    262316                                    for (field in param) { 
    263317                                            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; 
    264322                                                    case "f_type": node.type = param["f_type"]; break; 
    265                                                     case "f_value": node.setAttribute("value", param["f_value"]); break; 
     323                                                    case "f_value": setAttr(node,"value", param["f_value"]); break; 
    266324                                                    case "f_size":  
    267325                                                            if(isNaN(parseInt(param["f_size"],10)) || parseInt(param["f_size"],10) <= 0) 
    268                                                                     node.removeAttribute("size"); 
    269                                                             else  
    270                     node.setAttribute("size", param["f_size"]); break; 
     326                    param["f_size"] = ""; 
     327                                                                  setAttr(node, "size", param["f_size"]); break; 
    271328                                                    case "f_maxlength": 
    272                                                             if(isNaN(parseInt(param["f_maxlength"],10)) || parseInt(param["f_maxlength"],10) <= 0)  
    273                                                                     node.removeAttribute("maxLength"); 
    274                                                             else  
    275                     node.setAttribute("maxLength", param["f_maxlength"]); break; 
    276                                                     case "f_checked": 
    277                                                             if(param["f_checked"]==true)  
    278                     node.setAttribute("checked",true); 
    279                                                                   else { 
    280                     node.setAttribute("checked",false);   
    281                                                                   node.removeAttribute("checked");} break; 
    282                                                     case "f_src": node.setAttribute("src", param["f_src"]); break; 
    283                                                     case "f_onclick":   
    284                   node.removeAttribute("onclick");  
    285                   node.onclick = ""; 
    286                                                             if(param["f_onclick"]!="") { 
    287                                                                     node.setAttribute("onclick",param["f_onclick"]); 
    288                                                                     node.onclick = param["f_onclick"]; 
    289                                                             } break; 
     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; 
    290339                                            } 
    291340                                    } 
     
    299348            if (param["f_tabindex"] != "") text += ' tabindex="' + param["f_tabindex"] + '"'; 
    300349            if (param["f_accesskey"] != "") text += ' accesskey="' + param["f_accesskey"] + '"'; 
    301             if (param["f_readonly"] == true) text += ' readonly'; 
    302             if (param["disabled"] == true) text += ' disabled'; 
     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" 
    303352            text += '>' + param["f_value"] + '</textarea>'; 
    304353                            } else if(type == "select") { 
    305354                                    text = '<select name="'+param["f_name"]+'"'; 
    306                                     if(param["f_size"]) text += ' size="'+parseInt(param["f_size"],10)+'"'; 
    307                                     if(param["f_multiple"]) text += ' multiple'; 
     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" 
    308359                                    text += '>'; 
    309360                                    var optionsList =  param["f_options"]; 
     
    312363                                    } 
    313364                                    text += '</select>'; 
     365          } 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>'; 
     370          } else if(type == "fieldset") { 
     371            text = '<fieldset>'; 
     372            if (param["f_legend"] != "") text += '<legend>' + param["f_legend"] + '</legend>'; 
     373                                    text += '</fieldset>'; 
    314374                            } else { 
    315375                                    text = '<input type="'+type+'"' + 
     
    319379                                            if (!value) continue; 
    320380                                            switch (field) { 
    321                                                     case "f_value": text += ' value="'+param["f_value"]+'"'; break; 
    322                                                     case "f_size": text += ' size="'+parseInt(param["f_size"],10)+'"'; break; 
    323                                                     case "f_maxlength": text += ' maxlength="'+parseInt(param["f_maxlength"],10)+'"'; break; 
    324                                                     case "f_checked": text += ' checked'; break; 
    325                                                     case "f_src": text += ' src="'+param["f_src"]+'"'; break; 
    326                                                     case "f_onclick": text += ' onClick="'+param["f_onclick"]+'"'; break; 
     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" 
    327391                                            } 
    328392                                    } 
  • trunk/plugins/Forms/popups/input.html

    r200 r236  
    77 
    88<script type="text/javascript"> 
     9var fields = null; 
    910var type; 
    1011function Init() { 
     
    1314        var param = window.dialogArguments; 
    1415  type = param.f_type; 
    15   height = 230; 
    16   var d = document; 
    17   d.getElementById("f_name").value = param.f_name; 
    18   d.getElementById("f_value").value = param.f_value; 
    19   d.getElementById("f_type").innerHTML = 'Form Element: INPUT (' + param.f_type + ')'; 
    20   d.getElementById("txt").style.display = "none"; 
    21   d.getElementById("chk").style.display = "none"; 
    22   d.getElementById("btn").style.display = "none"; 
    23   d.getElementById("img").style.display = "none"; 
     16  document.getElementById("f_type").innerHTML = 'Form Element: INPUT (' + type + ')'; 
     17  document.getElementById("txt").style.display = "none"; 
     18  document.getElementById("chk").style.display = "none"; 
     19  document.getElementById("btn").style.display = "none"; 
     20  document.getElementById("img").style.display = "none"; 
    2421  switch (type) { 
    25           case "text": 
    26           case "password": 
    27                   d.getElementById("f_size").value = (param.f_size<=0)?"":param.f_size; 
    28                         d.getElementById("f_maxlength").value = (param.f_maxlength<=0)?"":param.f_maxlength; 
    29       d.getElementById("txt").style.display = "block"; 
    30       height = 250; 
    31                         break; 
    32                 case "checkbox": 
     22    case "text": 
     23    case "password": 
     24      fields = ["f_name", "f_value", "f_readonly", "f_disabled", "f_tabindex", "f_accesskey", "f_size"]; 
     25      height = 350; 
     26      document.getElementById("txt").style.display = "block"; 
     27      break; 
     28    case "checkbox": 
    3329                case "radio":  
    34       d.getElementById("f_checked").checked = param.f_checked; 
    35       d.getElementById("chk").style.display = "block"; 
     30      fields = ["f_name", "f_value", "f_checked", "f_disabled", "f_tabindex", "f_accesskey"]; 
     31      document.getElementById("chk").style.display = "block"; 
     32      height = 280; 
    3633      break; 
    3734                case "button":  
    38       d.getElementById("f_onclick").value =  param.f_onclick;  
    39       d.getElementById("btn").style.display = "block"; 
     35      fields = ["f_name", "f_value", "f_disabled", "f_onclick", "f_tabindex", "f_accesskey"]; 
     36      document.getElementById("btn").style.display = "block"; 
     37      height = 300; 
    4038            break; 
    41                 case "image":  
    42       d.getElementById("f_src").value = param.f_src; 
    43       d.getElementById("img").style.display = "block"; 
    44             break; 
    45     case "hidden": 
     39                case "file": 
     40      fields = ["f_name", "f_disabled", "f_tabindex", "f_accesskey"]; 
     41      document.getElementById("f_value").disabled = true; 
     42      height = 280; 
     43      break; 
     44    case "image":  
     45      fields = ["f_name", "f_disabled", "f_tabindex", "f_accesskey", "f_src"]; 
     46      document.getElementById("img").style.display = "block"; 
     47      document.getElementById("f_value").disabled = true; 
     48      height = 300; 
     49      break; 
    4650    case "reset": 
    4751    case "submit": 
    48       height = 200; 
     52      fields = ["f_name", "f_value", "f_disabled", "f_tabindex", "f_accesskey"]; 
     53      height =260; 
     54      break; 
     55    case "hidden": 
     56      fields = ["f_name", "f_value"]; 
     57      document.getElementById("f_disabled").disabled = true; 
     58      document.getElementById("f_tabindex").disabled = true; 
     59      document.getElementById("f_accesskey").disabled = true; 
     60      height =260; 
     61      break; 
    4962  } 
    50         window.resizeTo(320,height); 
    51         d.getElementById("f_name").focus(); 
     63  for (var i in fields) { 
     64    switch (fields[i]) {  
     65    case "f_readonly":  
     66    case "f_disabled": 
     67    case "f_checked": 
     68      document.getElementById(fields[i]).checked = param[fields[i]]=="true"; break; 
     69    default: 
     70      document.getElementById(fields[i]).value = param[fields[i]]; break; 
     71    } 
     72  } 
     73  window.resizeTo(320,height); 
     74        document.getElementById("f_name").focus(); 
    5275}; 
    5376 
    5477function onOK() { 
    55         var d = document; 
    56         var el = d.getElementById("f_name"); 
     78        var el = document.getElementById("f_name"); 
    5779        if (!el.value) { 
    5880        alert("You must enter a Name"); 
     
    6082          return false; 
    6183        } 
    62         var param = new Object(); 
     84  // pass data back to the calling window 
     85  var param = new Object(); 
    6386  param["f_type"] = type; 
    64   param["f_name"] = d.getElementById("f_name").value; 
    65   param["f_value"] = d.getElementById("f_value").value; 
    66         switch (type) { 
    67                 case "text": 
    68                 case "password": 
    69                         param["f_size"] = d.getElementById("f_size").value; 
    70       param["f_maxlength"] = d.getElementById("f_maxlength").value; 
    71       break; 
    72         case "checkbox": 
    73                 case "radio":   param["f_checked"] = d.getElementById("f_checked").checked;     break; 
    74                 case "button":  param["f_onclick"] = d.getElementById("f_onclick").value;       break; 
    75                 case "image": param["f_src"] = d.getElementById("f_src").value; 
    76         } 
     87  for (var i in fields) { 
     88    switch (fields[i]) { 
     89    case "f_readonly": 
     90    case "f_disabled": 
     91    case "f_checked": 
     92      param[fields[i]] = (document.getElementById(fields[i]).checked)?"true":""; break; 
     93    default: 
     94      param[fields[i]] = document.getElementById(fields[i]).value; break; 
     95    } 
     96  } 
    7797  __dlg_close(param); 
    7898  return false; 
     
    104124  <div id="f_type" class="title"></div> 
    105125  <form action="" method="get"> 
    106     <div class="line"><label class="label" for="name">Name/ID:</label> 
    107     <input type="text" name="name" id="f_name" title="Name of the form input" /></div> 
    108     <div class="line"><label class="label" for="value">Value:</label>   
    109     <input type="text" name="value" id="f_value" title="Value of the form input" /></div> 
     126    <div class="fr">Name/ID:</div> 
     127    <input type="text" name="name" id="f_name" title="Name of the form input" /> 
     128    <p /> 
     129    <div class="fr">Value:</div> 
     130    <input type="text" name="value" id="f_value" title="Value of the form input" /> 
     131    <p /> 
     132    <div class="fr">Disabled</div> 
     133    <input type="checkbox" name="disabled" id="f_disabled" value="disabled" /> 
     134    <p /> 
     135     
     136  <div id="chk"> 
     137    <div class="fr">Checked</div> 
     138      <input name="checked" id="f_checked" type="checkbox" /> 
     139    <p /> 
     140        </div> 
     141           
     142    <div class="fr">Tab Index:</div> 
     143    <input type="text" name="tabindex" id="f_tabindex" /> 
     144    <p /> 
     145    <div class="fr">Access Key:</div> 
     146    <input type="text" name="accesskey" id="f_accesskey" /> 
     147    <p /> 
     148 
    110149  <div id="txt"> 
    111         <fieldset> 
    112         <legend>Dimensions</legend> 
    113     <div class="space"></div> 
    114     <div class="fr">Size:</div> 
    115     <input type="text" name="size" id="f_size" size="5" title="Size of text box in characters" /> 
    116     <div class="space"></div> 
    117     <div class="fr">Max length:</div> 
    118     <input type="text" name="maxlength" id="f_maxlength" size="5"       title="Maximum number of characters accepted" /> 
    119     <div class="space"></div> 
    120         </fieldset> 
     150    <div class="fr">Read Only</div> 
     151    <input type="checkbox" name="readonly" id="f_readonly" value="readonly" /> 
     152    <p /> 
     153     
     154          <fieldset> 
     155        <legend>Dimensions</legend> 
     156      <div class="space"></div> 
     157      <div class="fr">Size:</div> 
     158      <input type="text" name="size" id="f_size" size="5" title="Size of text box in characters" /> 
     159      <div class="space"></div> 
     160      <div class="fr">Max length:</div> 
     161      <input type="text" name="maxlength" id="f_maxlength" size="5"     title="Maximum number of characters accepted" /> 
     162      <div class="space"></div> 
     163          </fieldset> 
    121164  </div> 
    122   <div id="chk"> 
    123   <fieldset> 
    124   <legend>Default</legend> 
    125     <div class="space"></div> 
    126     <div class="fr">Checked</div> 
    127     <input name="checked" id="f_checked" type="checkbox" /> 
    128     <div class="space"></div> 
    129   </fieldset> 
    130         </div> 
    131         <div id="btn"> 
    132         <fieldset> 
    133         <legend> Button Script</legend> 
    134           <div class="space"></div> 
    135     <div class="fr">'onClick'=</div> 
    136     <input type="text" name="onClick" id="f_onclick" title="Javascript for button click" /> 
    137     <div class="space"></div> 
    138         </fieldset> 
     165  <div id="btn"> 
     166          <fieldset> 
     167          <legend> Button Script</legend> 
     168            <div class="space"></div> 
     169      <div class="fr">'onClick'=</div> 
     170      <input type="text" name="onClick" id="f_onclick" title="Javascript for button click" /> 
     171      <div class="space"></div> 
     172          </fieldset> 
    139173  </div> 
    140174        <div id="img"> 
    141         <fieldset> 
    142         <legend>Image source</legend> 
    143           <div class="space"></div> 
    144     <div class="fr">Image URL:</div> 
    145     <input type="text" name="src" id="f_src" title="URL of image" /> 
    146     <div class="space"></div> 
    147         </fieldset> 
     175          <fieldset> 
     176          <legend>Image source</legend> 
     177            <div class="space"></div> 
     178      <div class="fr">Image URL:</div> 
     179      <input type="text" name="src" id="f_src" title="URL of image" /> 
     180      <div class="space"></div> 
     181          </fieldset> 
    148182  </div> 
    149183  <div id="buttons"> 
  • trunk/plugins/Forms/popups/select.html

    r192 r236  
    77 
    88<script type="text/javascript"> 
    9 var type; 
     9var fields = ["f_name", "f_size", "f_tabindex", "f_multiple", "f_disabled"]; 
     10 
    1011function Init() { 
     12        window.resizeTo(350,320); 
    1113  __dlg_translate("Forms"); 
    1214        __dlg_init(); 
    1315        var param = window.dialogArguments; 
    14   type = param.f_type; 
    15   var d = document; 
    16   d.getElementById("f_name").value = param.f_name; 
    17         d.getElementById("f_size").value = (param.f_size<=0)?"":param.f_size; 
    18         d.getElementById("f_multiple").checked = param.f_multiple; 
    19         for (var i=0; i<=param.f_options.length-1; i++) { 
     16  for (var i in fields) { 
     17    switch (fields[i]) { 
     18    case "f_multiple": 
     19    case "f_disabled": 
     20      document.getElementById(fields[i]).checked = param[fields[i]] == "true"; break; 
     21    case "f_size": 
     22      document.getElementById(fields[i]).value = (param[fields[i]]<=0)?"":param[fields[i]]; break; 
     23    default: 
     24      document.getElementById(fields[i]).value = param[fields[i]]; break; 
     25    } 
     26  } 
     27  for (var i=0; i<=param.f_options.length-1; i++) { 
    2028                document.getElementById("f_select").options[i] = new Option(param.f_options[i].text, param.f_options[i].value); 
    2129        } 
    22         window.resizeTo(350,320); 
    23         d.getElementById("f_name").focus(); 
     30  document.getElementById("f_name").focus(); 
    2431}; 
    2532 
    2633function onOK() { 
    27         var d = document; 
    28         var el = d.getElementById("f_name"); 
     34        var el = document.getElementById("f_name"); 
    2935        if (!el.value) { 
    3036        alert("You must enter a Name"); 
     
    3238          return false; 
    3339        } 
     40  // pass data back to the calling window 
    3441  var param = new Object(); 
    35   param["f_type"] = type; 
    36   param["f_name"] = d.getElementById("f_name").value; 
    37         param["f_size"] = d.getElementById("f_size").value; 
    38   if (d.getElementById("f_size").value=="1")  
    39     param["f_multiple"]=false; 
    40   else 
    41         param["f_multiple"] = d.getElementById("f_multiple").checked; 
    42         function optionValues(text,value) { 
     42  for (var i in fields) { 
     43    switch (fields[i]) {  
     44    case "f_multiple": 
     45      if (document.getElementById("f_size").value=="1")  
     46        param["f_multiple"] = ""; 
     47      else 
     48            param["f_multiple"] = (document.getElementById(fields[i]).checked)?"true":""; 
     49            break; 
     50    case "f_disabled": 
     51      param[fields[i]] = (document.getElementById(fields[i]).checked)?"true":""; break; 
     52    default: 
     53      param[fields[i]] = document.getElementById(fields[i]).value; break; 
     54    } 
     55  } 
     56  function optionValues(text,value) { 
    4357                this.text = text; 
    4458                this.value = value; 
    4559        } 
    4660        optionNodes = new Array(); // for option text/value pairs 
    47         for (var i=0; i<= d.getElementById("f_select").options.length-1; i++) { 
    48                 optionNodes[i] = new optionValues(d.getElementById("f_select").options[i].text, d.getElementById("f_select").options[i].value); 
     61        for (var i=0; i<= document.getElementById("f_select").options.length-1; i++) { 
     62                optionNodes[i] = new optionValues(document.getElementById("f_select").options[i].text, document.getElementById("f_select").options[i].value); 
    4963        } 
    5064        param["f_options"] = optionNodes; 
     
    140154} 
    141155</script> 
    142 <style rel="stylesheet" type="text/css"> 
    143 DIV.line        {       clear: both;    } 
    144  
    145 LABEL   { 
    146         padding-top: 3px; 
    147         padding-left: 3px;               
    148         padding-right: 3px;      
    149         } 
    150          
    151 LABEL.label     { 
    152         float: left; 
    153         width: 12em; 
    154         text-align: right; 
    155         }        
    156 </style> 
    157156</head> 
    158157 
     
    160159  <div id="f_type" class="title">Form Element: SELECT</div> 
    161160  <form action="" method="get"> 
    162     <div class="line"><label class="label" for="name">Name/ID:</label> 
    163     <input type="text" name="name" id="f_name" title="Name of the form select" /></div> 
    164     <div class="line"><label class="label" for="size">Size:</label> 
    165     <input name="size" id="f_size" type="text" value="" size="15"></div> 
    166                 <div class="line"><label class="label" for="multiple">Allow Multiple Selections:</label> 
    167     <input name="multiple" id="f_multiple" type="checkbox"></div> 
     161    <div class="fr">Name/ID:</div> 
     162    <input type="text" name="name" id="f_name" title="Name of the form select" /> 
     163    <p /> 
     164    <div class="fr">Size:</div> 
     165    <input name="size" id="f_size" type="text" value="" size="15"> 
     166    <p /> 
     167                <div class="fr"><nobr>Multiple Select</nobr></div> 
     168    <input name="multiple" id="f_multiple" type="checkbox"> 
     169    <p /> 
     170    <div class="fr">Disabled</div> 
     171    <input type="checkbox" name="disabled" id="f_disabled" value="disabled" /> 
     172    <p /> 
     173    <div class="fr">Tab Index:</div> 
     174    <input type="text" name="tabindex" id="f_tabindex" /> 
     175    <p /> 
    168176    <div class="space"></div> 
    169177    <fieldset id="fldLayout"> 
  • trunk/plugins/Forms/popups/textarea.html

    r200 r236  
    1919    case "f_readonly":  
    2020    case "f_disabled": 
    21       document.getElementById(fields[i]).checked = param[fields[i]]; break; 
     21      document.getElementById(fields[i]).checked = param[fields[i]]=="true"; break; 
    2222    default: 
    2323      document.getElementById(fields[i]).value = param[fields[i]]; break; 
     
    2828 
    2929function onOK() { 
    30         var d = document; 
    31         var el = d.getElementById("f_name"); 
     30        var el = document.getElementById("f_name"); 
    3231        if (!el.value) { 
    3332        alert("You must enter a Name"); 
     
    4140    case "f_readonly":  
    4241    case "f_disabled": 
    43       param[fields[i]] = document.getElementById(fields[i]).checked; break; 
     42      param[fields[i]] = (document.getElementById(fields[i]).checked)?"true":""; break; 
    4443    default: 
    4544      param[fields[i]] = document.getElementById(fields[i]).value; break; 
Note: See TracChangeset for help on using the changeset viewer.