Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ASP.NET WEB表单获取母版页中的JavaScript错误_Javascript_C#_Asp.net - Fatal编程技术网

使用ASP.NET WEB表单获取母版页中的JavaScript错误

使用ASP.NET WEB表单获取母版页中的JavaScript错误,javascript,c#,asp.net,Javascript,C#,Asp.net,Java脚本在使用ASP.NET C的内容页中不起作用,我正在尝试计算下面多行文本框的字符数,这是字符数代码。 下面是一个错误 未能加载资源:服务器以404状态响应 (未找到)未捕获引用错误:未定义txtComments(…) 下面是我的代码JS和设计代码 <script type="text/javascript"> function characterCounter(controlId, countControlId, maxCharlimit) {

Java脚本在使用ASP.NET C的内容页中不起作用,我正在尝试计算下面多行文本框的字符数,这是字符数代码。 下面是一个错误

未能加载资源:服务器以404状态响应 (未找到)未捕获引用错误:未定义txtComments(…)

下面是我的代码JS和设计代码

    <script type="text/javascript">

       function characterCounter(controlId, countControlId, maxCharlimit) {
           if (controlId.value.length > maxCharlimit)
               controlId.value = controlId.value.substring(0, maxCharlimit);
           else countControlId.value = maxCharlimit - controlId.value.length;
       }


   </script>
    <fieldset style="width: 280px;">
        <legend>Counting Remaining Characters example</legend>
        <asp:TextBox ID="txtComments" Width="280px" Rows="4" Columns="12" runat="server"
            TextMode="MultiLine" onkeyup="characterCounter(txtComments, this.form.remCount, 150);"
            onkeydown="characterCounter(txtComments, this.form.remCount, 150);" /><input type="text"
                name="remCount" size="3" maxlength="3" value="150" readonly="readonly" />
        characters left
    </fieldset>

函数字符计数器(controlId、countControlId、maxCharlimit){
if(controlId.value.length>maxCharlimit)
controlId.value=controlId.value.substring(0,maxCharlimit);
else countControlId.value=maxCharlimit-controlId.value.length;
}
计数剩余字符示例
剩下的字符

当我尝试键入某些内容时,值没有改变。

我建议您使用
作为文本框ID,因为该ID将随着页面名称(以及母版页名称,如果有)而改变,因为它是服务器端控件。这意味着调用方法如下所示:

onkeydown="characterCounter(this, this.form.remCount, 150);"

附加说明:由于您是从javascript方法访问Textbox的值,因此不需要传递Textbox的ID,而可以将其作为Textbox传递。因此,传递的参数将是
this
而不是
this.Id
。并且必须感谢豹子指出这一点

您需要传递
而不是
txtComments

<asp:TextBox ID="txtComments" Width="280px" Rows="4" Columns="12" runat="server"
            TextMode="MultiLine" onkeyup="characterCounter(this, this.form.remCount, 150);"
            onkeydown="characterCounter(this, this.form.remCount, 150);" />


@投票人:他忘了通过,请编辑答案,但你的答案中没有提及,请更新你的答案@Leopard@MMK我在asnwer里没提到什么?@Leopard:别装聪明。聪明点。现在请记住,只有您编辑了答案,并将
txtComments
替换为
this
。您还需要补充的一点是,该方法需要文本框的ID,而您正在传递整个文本框。@如果您看到
函数
OP不是通过ID直接使用它来访问它,那就不走运了。我在一个页面中有五个多行文本框,我必须检查所有内容和您的意思。txtComments,我必须保留@运气不好每个文本框都有不同的ID,对吗?因此,
this.id
将为您提供相应的id。它不是'this.txtComments',它将是
this.id
然后在上面回答一个以上的答案,仅此表示混淆@不幸的是,当我按下时,只会更改低于计数值的值,如果我要复制并通过,则不会更改为什么@不走运