Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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 显示要达到telerik:RadTextBox最大长度的剩余数字字符_Asp.net_Web Applications_Textbox_Telerik - Fatal编程技术网

Asp.net 显示要达到telerik:RadTextBox最大长度的剩余数字字符

Asp.net 显示要达到telerik:RadTextBox最大长度的剩余数字字符,asp.net,web-applications,textbox,telerik,Asp.net,Web Applications,Textbox,Telerik,我的asp.net web应用程序需要一个telerik:RadTextBox,它最多可以接受160个字符。每次在此文本框中输入一个字符,我希望我可以键入的剩余字符数显示在此文本框附近作为标签。有人能告诉我应该使用哪个事件并提供javascript代码来实现这一点吗 以下是关于您的问题的一些提示: 要计算字符数并排除换行符,可以使用以下命令: <telerik:RadTextBox ID="RTB1" runat="server" TextMode="MultiLine" ClientEv

我的asp.net web应用程序需要一个telerik:RadTextBox,它最多可以接受160个字符。每次在此文本框中输入一个字符,我希望我可以键入的剩余字符数显示在此文本框附近作为标签。有人能告诉我应该使用哪个事件并提供javascript代码来实现这一点吗

以下是关于您的问题的一些提示:

要计算字符数并排除换行符,可以使用以下命令:

<telerik:RadTextBox ID="RTB1" runat="server" TextMode="MultiLine" ClientEvents-OnKeyPress="KeyPress" />

<script type="text/javascript">

function KeyPress(sender, args)
{
    var text;
    if ($telerik.isIE || args.get_domEvent().rawEvent.keyCode == 0 || args.get_domEvent().rawEvent.keyCode == 13) // 13 : Enter key
    {
        text = escape(sender.get_value() + args.get_keyCharacter());
    }
    else
    {
        text = escape(sender.get_value());
    }

    while (text.indexOf("%0D%0A") != -1)  // IE
    {
        text = text.replace("%0D%0A", " ");
    }
    while (text.indexOf("%0A") != -1)
    {
        text = text.replace("%0A", " ");
    }
    while (text.indexOf("%0D") != -1)
    {
        text = text.replace("%0D", " ");
    }

    var calculatedLength = unescape(text).length;

    if (args.get_domEvent().rawEvent.keyCode == 8 && calculatedLength > 0) // 8 : backspace
    {
        calculatedLength -= 1;
    }

    document.title = calculatedLength;
}

</script>

功能按键(发送器,参数)
{
var文本;
if($telerik.isIE | | args.get|u domEvent().rawEvent.keyCode==0 | | args.get|u domEvent().rawEvent.keyCode==13)//13:输入key
{
text=escape(sender.get_value()+args.get_keyCharacter());
}
其他的
{
text=escape(sender.get_value());
}
while(text.indexOf(“%0D%0A”)!=-1)//IE
{
text=text.replace(“%0D%0A”,”);
}
while(text.indexOf(“%0A”)!=-1)
{
text=文本。替换(“%0A”和“”);
}
while(text.indexOf(“%0D”)!=-1)
{
text=text.replace(“%0D”和“”);
}
var calculatedLength=unescape(文本).length;
if(args.get_domEvent().rawEvent.keyCode==8&&calculatedLength>0)//8:退格
{
计算长度-=1;
}
document.title=计算长度;
}
这样你就可以做到

甚至你也可以查看更多细节


谢谢,

使用onFocus客户端事件:

例如

textBox1.Attributes.Add(“onFocus”、“Counter('textBox1','LabelID',160)”);
函数计数器(textboxID、LabelID、MaxCharacters){
var count=MaxCharacters-document.getElementById(textboxID).value.length;
getElementById(LabelID).innerHTML=count;
}

我用一系列带有文本框的用户控件做了类似的事情。我建议使用onkey up和onkey down事件来增加/降低计数器

这就是我们使用的javascript

<script type="text/javascript" language="Javascript">
    //Character count script!
    function textCounter(field, countfield, maxlimit) {
        if (countfield == null) { return; }

        if (field.value.length > maxlimit)
            field.value = field.value.substring(0, maxlimit) + " Characters Remaining";
        else
            countfield.value = maxlimit - field.value.length + " Characters Remaining";
    }
</script>
当所有这些结合在一起时,如果您对其设置了最大限制,那么它将阻塞计数器,只有当该文本框具有焦点时。焦点消失后,脚本onblur将再次隐藏文本框。计数器在onkeyup和onkeydown上触发,因此计数将保持准确。它将向后计数到0,一旦达到0,用户将无法输入更多文本

<script type="text/javascript" language="Javascript">
    //Character count script!
    function textCounter(field, countfield, maxlimit) {
        if (countfield == null) { return; }

        if (field.value.length > maxlimit)
            field.value = field.value.substring(0, maxlimit) + " Characters Remaining";
        else
            countfield.value = maxlimit - field.value.length + " Characters Remaining";
    }
</script>
   <telerik:RadTextBox ID="txtTextBox" runat="server"  />
    <input readonly="readonly" enableviewstate ="false" type="text" runat="server" id="charCount" size="25" name="charCount" tabindex="-1" value="" 
        style="border: solid 0px white; display:none; background: white; font-size: 11px; color: #FF0000; text-align: right; float:right" />
        txtTextBox.Attributes.Item("onblur") = charCount.ClientID + ".style.display='none';"
        txtTextBox.Attributes.Item("onfocus") = charCount.ClientID + ".style.display='block';"
        txtTextBox.Attributes.Item("onkeyup") = "textCounter(this, " + charCount.ClientID + "," + myMaxLength.ToString + ");"
        txtTextBox.Attributes.Item("onkeydown") = "textCounter(this, " + charCount.ClientID + "," + myMaxLength.ToString + ");"