Javascript 字符计数器在Chrome中工作,但在Firefox中不工作
我已经实现了一个字符计数器功能,它可以在Chrome中使用,但在Firefox中不起作用。我已经在我的VB.NET页面上找到了它。你能帮我理解为什么它能在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
<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-在任何地方都可以使用