2011-10-16 105 views
0

我有我的選擇框,一個Javascript功能,但在我列入RUNAT =「服務器」來了,下面這條線的腳本調試亮點:RUNAT =「服務器」 + JavaScript的

for (i = 0; i < sourceTo.options.length; i++) {」,並說:

SCRIPT5007:無法獲得屬性「長度」值:對象爲空或未定義

我把它,因爲我通過它的代碼要循環的背後,並執行一些其他的東西,請指教謝謝!

代碼:

<select multiple size="8" style="width: 135px" runat="server" id="outletFromBox"> 
               <option value="JP">Jurong Point</option> 
               <option value="IMM">IMM</option> 
               <option value="Wisma">Wisma</option>     
              </select> 
             </td> 

             <td align="center" valign="middle"> 
              <input type="button" class="ui-icon ui-icon-arrowthick-1-e ui-corner-all" style="width: 20px; height: 23px;" onClick=" javascript:move(('outletFromBox'),('outletToBox')); " 
                value=""><br /> 
              <input type="button" class="ui-icon ui-icon-arrowthick-1-w ui-corner-all" style="width: 20px; height: 23px;" onClick=" javascript:move(('outletToBox'),('outletFromBox')); " 
                value=""> 
             </td> 
    <td style="padding-left: 4px"> 

            <select multiple size="8" style="width: 135px" runat="server" onBlur="selectAll(this, true, document.getElementById('<%=uilblDestinationQualOutlet.ClientID%>'))" id="outletToBox"> 
            </select> <span class="guide"></span> 
           </td></tr></table> 


       </div> 
      </asp:Panel> 

的Javascript:

function move(sourceFrom, sourceTo) { 
      var arrFrom = new Array(); 
      var arrTo = new Array(); 
      var arrLU = new Array(); 
      var i; 
      for (i = 0; i < sourceTo.options.length; i++) { 
       arrLU[sourceTo.options[i].text] = sourceTo.options[i].value; 
       arrTo[i] = sourceTo.options[i].text; 
      } 
      var fLength = 0; 
      var tLength = arrTo.length; 
      for (i = 0; i < sourceFrom.options.length; i++) { 
       arrLU[sourceFrom.options[i].text] = sourceFrom.options[i].value; 
       if (sourceFrom.options[i].selected && sourceFrom.options[i].value != "") { 
        arrTo[tLength] = sourceFrom.options[i].text; 
        tLength++; 
       } else { 
        arrFrom[fLength] = sourceFrom.options[i].text; 
        fLength++; 
       } 
      } 

      sourceFrom.length = 0; 
      sourceTo.length = 0; 

      var ii; 
      for (ii = 0; ii < arrFrom.length; ii++) { 
       var no = new Option(); 
       no.value = arrLU[arrFrom[ii]]; 
       no.text = arrFrom[ii]; 
       sourceFrom[ii] = no; 
      } 

      for (ii = 0; ii < arrTo.length; ii++) { 
       var no = new Option(); 
       no.value = arrLU[arrTo[ii]]; 
       no.text = arrTo[ii]; 
       sourceTo[ii] = no; 
      } 

      (sourceTo).focus(); 

      if (sourceTo == (document.getElementById('outletFromBox'))) { 
       (sourceFrom).focus(); 
      } 
      if (sourceTo == (document.getElementById('QualMemTypeFromBox'))) { 
       (sourceFrom).focus(); 
      } 
      if (sourceTo == (document.getElementById('MemStatusFromBox'))) { 
       (sourceFrom).focus(); 
      } 
     } 

回答

1

當你添加RUNAT = 「服務器」 任何控制的控制變化的客戶端id。 我想這是你的問題,你應該通過客戶端ID到移動功能。

相關問題