1

我将从 HTML TextArea 中获取值,它运行良好,直到我将 runat="server" 放在控件上。

<script language="javascript" type="text/javascript" >
    function limitText(limitField, limitCount, limitNum) {
        if (limitField.value.length > limitNum) {
            limitField.value = limitField.value.substring(0, limitNum);
        } else {
            limitCount.value = limitNum - limitField.value.length;
        }
    }
</script>

那么这就是身体

 <div runat="server">
    <%-- Note:Set runnat="server" --%>

    <textarea runat="server" name="limitedtextarea" id="Area" onkeydown="limitText(this.form.limitedtextarea,this.form.countdown,100);"
        onkeyup="limitText(this.form.limitedtextarea,this.form.countdown,100);" >

我正在尝试将(文本区域的)值放入变量中,然后将其显示在标签上

我真的很感谢你的帮助..谢谢..

4

3 回答 3

1

当您使用任何控制服务器端控件时,该控件runat=server的 ID 会发生更改,现在您可以使用 ClientID 获取 Javascript 中的服务器端控件 ID,例如

document.getElementById('<%=Area.ClientID%>')
于 2012-07-30T09:28:46.427 回答
0

您可以使用关键字直接发送控件引用this,并在 javascript 函数中使用该引用和值来检查限制。通过这种方式,您可以将相同的函数与其他控件一起使用。

<textarea runat="server" name="limitedtextarea" id="Area" 
    onkeydown="limitText(this,this.form.countdown,100);"         
    onkeyup="limitText(this,this.form.countdown,100);" >

    <script language="javascript" type="text/javascript" >     
       function limitText(limitField, limitCount, limitNum) 
       {         

          if (limitField.value.length > limitNum) 
          {             
            limitField.value = limitField.value.substring(0, limitNum);         
          } 
          else 
          {             
            limitCount.value = limitNum - limitField.value.length;         
          }     

      } 
    </script> 
于 2012-07-30T10:09:22.663 回答
0

当您添加 arunat="server"时,它将更改其中表单元素的名称,并且您依赖于具有命名元素的表单:

this.form.limitedtextarea

对于文本字段,您应该可以传递 just this,因为countdown您可以使用 id:

onkeydown="limitText(this,document.getElementById('countdowntimer'),100);"
于 2012-07-30T09:24:18.710 回答