限制数据列表asp.net 3.5中动态文本框中的字符数

limit characters in dynamic text box in data list asp.net 3.5

本文关键字:文本 动态 字符 数据 列表 asp net      更新时间:2023-09-26

在下面的JavaScript中,我遇到了一个问题,即JavaScript只适用于一个文本框,而不适用于所有文本区域,因为html中生成的ID对于所有文本区域都不同。有关此的任何帮助

   <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>

如果我使用JQuery动态添加文本区域,效果很好。

<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>