Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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
Javascript 字符计数器在Chrome中工作,但在Firefox中不工作_Javascript_Asp.net_Vb.net - Fatal编程技术网

Javascript 字符计数器在Chrome中工作,但在Firefox中不工作

Javascript 字符计数器在Chrome中工作,但在Firefox中不工作,javascript,asp.net,vb.net,Javascript,Asp.net,Vb.net,我已经实现了一个字符计数器功能,它可以在Chrome中使用,但在Firefox中不起作用。我已经在我的VB.NET页面上找到了它。你能帮我理解为什么它能在Chrome上工作,而不能在Firefox上工作吗 <br>Other comments (max 250 characters): <br> <asp:TextBox ID="OtherComments" runat="server" MaxLength="250" onblur="javascrip

我已经实现了一个字符计数器功能,它可以在Chrome中使用,但在Firefox中不起作用。我已经在我的VB.NET页面上找到了它。你能帮我理解为什么它能在Chrome上工作,而不能在Firefox上工作吗

 <br>Other comments (max 250 characters):
<br>
<asp:TextBox ID="OtherComments" runat="server" MaxLength="250" 
    onblur="javascript:CharCounter(this.id);" 
    onkeyup="javascript:CharCounter(this.id);" style="height:50px; width:450px;" 
    TextMode="MultiLine"></asp:TextBox>
<br>
    <asp:Label ID="lblCounter" runat="server" Text="250 chars remaining"></asp:Label>
    <script language="javascript" type="text/javascript">

    function CharCounter(textId) {
        var totalchar = '<%= OtherComments.MaxLength %>';
        var txtbox = document.getElementById(textId);
        var lbl = document.getElementById('<% =lblCounter.ClientID %>');
        if (txtbox.value.length > totalchar) {
            txtbox.value = txtbox.value.substring(0, totalchar);
        }
        lbl.innerText = (totalchar - txtbox.value.length) + " chars remaining";
    }
 </script>

其他注释(最多250个字符):

函数字符计数器(textId){ var totalchar=''; var txtbox=document.getElementById(textId); var lbl=document.getElementById(“”); if(txtbox.value.length>totalchar){ txtbox.value=txtbox.value.substring(0,totalchar); } lbl.innerText=(totalchar-txtbox.value.length)+“剩余字符”; }
您正在比较字符串和整数。这可能就是问题所在。最好使用innerHTML而不是innerText。某些浏览器不支持InnerText。 希望这能解决你的问题

function CharCounter(textId) {
        var totalchar = <%= OtherComments.MaxLength %>;
        var txtbox = document.getElementById(textId);
        var lbl = document.getElementById('<% =lblCounter.ClientID %>');
        if (txtbox.value.length > totalchar) {
            txtbox.value = txtbox.value.substring(0, totalchar);
        }
        lbl.innerHTML = (totalchar - txtbox.value.length) + " chars remaining";
}
函数字符计数器(textId){
var totalchar=;
var txtbox=document.getElementById(textId);
var lbl=document.getElementById(“”);
if(txtbox.value.length>totalchar){
txtbox.value=txtbox.value.substring(0,totalchar);
}
lbl.innerHTML=(totalchar-txtbox.value.length)+“剩余字符”;
}

。innerText
是非标准的。改用
.textContent
。如果您需要支持IE8,您可以将其修补到
HTMLElement.prototype
或innerHTML-在任何地方都可以使用