使用ASP.NET WEB表单获取母版页中的JavaScript错误
Java脚本在使用ASP.NET C的内容页中不起作用,我正在尝试计算下面多行文本框的字符数,这是字符数代码。 下面是一个错误 未能加载资源:服务器以404状态响应 (未找到)未捕获引用错误:未定义txtComments(…) 下面是我的代码JS和设计代码使用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) {
<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
然后在上面回答一个以上的答案,仅此表示混淆@不幸的是,当我按下时,只会更改低于计数值的值,如果我要复制并通过,则不会更改为什么@不走运