2012-02-14 16 views
0

在下面的JavaScript中,我有一個問題,JavaScript只適用於一個文本框而不是所有的文本區域,因爲html中生成的ID不同於所有文本區域。任何有關這限制數據列表中的動態文本框中的字符asp.net 3.5

<font>Maximum Number of characters for this text box is 255.<br> 
           <textarea runat="server" id="txtAnswerMain" onkeypress="return taLimit(this)" onkeyup="return taCount(this,'myCounter')" 
            name="Description" rows="7" wrap="physical" cols="40"> 
           </textarea> 

這種幫助是我使用它的Java腳本適用於單個文本區域,但是當我申請到動態創建的文本區域,這是行不通的

<script language="Javascript"> 
     maxL = 100; 
     var bName = navigator.appName; 
     function taLimit(taObj) { 
      if (taObj.value.length == maxL) return false; 
      return true; 
     } 

     function taCount(taObj, Cnt) { 
      objCnt = createObject(Cnt); 
      objVal = taObj.value; 
      if (objVal.length > maxL) objVal = objVal.substring(0, maxL); 
      if (objCnt) { 
       if (bName == "Netscape") { 
        objCnt.textContent = maxL - objVal.length; 
       } 
       else { objCnt.innerText = maxL - objVal.length; } 
      } 
      return true; 
     } 
     function createObject(objId) { 
      if (document.getElementById) return document.getElementById(objId); 
      else if (document.layers) return eval("document." + objId); 
      else if (document.all) return eval("document.all." + objId); 
      else return eval("document." + objId); 
     } 
    </script> 

回答

0

如果我動態添加一個使用JQuery的textarea工作正常。

<script type="text/JavaScript"> 
$(document).ready(function(){ 
$('#divToAddTo').append('<textarea id="txtAnswerMain2" onkeypress="return taLimit(this)" onkeyup="return taCount(this,'myCounter')" name="Description" rows="7" wrap="physical" cols="40">'); 
$('#divToAddTo').append('</textarea>'); 
}); 
</script>