我有textbox
这个输入255的DB
限制。我试图在JS
中构建一个函数来阻止用户插入超过255个字符那个文本框。
这是asp.net代码:
<asp:TextBox Id="textbox" TextMode="MultiLine"
oninput="F(id,this.value.length, 255)"
runat="server" Columns="25" Rows="5"></asp:TextBox>
以下是JS
中的代码(只是测试):
this.textCounter = function (ref,value, maxlimit) {
if (value > maxlimit) {
$('#textbox').value=" ";
}
return true;
}
不知何故,$('#textbox').value
未定义。
我能做什么?
答案 0 :(得分:1)
您应该使用$('#textbox')。html而不是$('#textbox')。value。 $('#textbox')。html获取文本框标签之间的内容。因为文本框没有值属性。
答案 1 :(得分:1)
您需要使用
$("#<%= textbox.ClientID %>").val("myValue")
aspnet重命名文本框ID以确保客户端没有重复项,因此textbox
可能会变成类似PlaceHolder1_textbox
的内容。然后你的硬编码javscript引用将不再起作用。
答案 2 :(得分:1)
您可以在asp.net控件中使用maxlength HTML属性。这将很好。
maxlength="255"
修改强>
<asp:TextBox Id="textbox" onKeyPress="return(this.value.length < 255);" runat="server" TextMode="MultiLine" Columns="25" Rows="5"></asp:TextBox>
答案 3 :(得分:-1)
定义文字时,必须指定ClientIDMode="Static"
。通过这种方式,.NET创建一个带有您名字的输入框。通常输入框名称比您选择的名称更复杂。
另一种方法是在javascript中使用一些代码。而不是$('#textbox')
你必须使用
$('#<%= yourtextbox.CliendId%>')