javascript中的文本框值

时间:2017-01-09 10:52:51

标签: javascript asp.net

我有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未定义。 我能做什么?

4 个答案:

答案 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%>')