我的代码旨在向用户显示剩余可用字符的数量
在文本框和文本区域。只有<input type="text">
的代码才能完美无缺,而且<textarea>
的代码根本不起作用。
我不确定为什么......我的代码在下面
我的js--
function toCount(entrance,exit,text,characters) {
var entranceObj=getObject(entrance);
var exitObj=getObject(exit);
var length=characters - entranceObj.value.length;
if(length <= 0) {
length=0;
text='<span class="disable"> '+text+' </span>';
entranceObj.value=entranceObj.value.substr(0,characters);
}
exitObj.innerHTML = text.replace("{CHAR}",length);
}
我的HTML
<textarea style="overflow-x: hidden;" value="<%=strVariable %>" type="text" id="gBann"
name="MyName" maxlength="1000" size="1000" rows="8" cols="40"
onKeyUp="toCount('gBann','uBann','{CHAR} characters remaining',1000);" >
</textarea>
<span id="uBann" class="minitext">1000 characters remaining</span>
答案 0 :(得分:2)
您想使用document.getElementById
而不是getObject。
以下是有效的:
function toCount(entrance,exit,text,characters) {
var entranceObj=document.getElementById(entrance);
var exitObj=document.getElementById(exit);
var length=characters - entranceObj.value.length;
if(length <= 0) {
length=0;
text='<span class="disable"> '+text+' <\/span>';
entranceObj.value=entranceObj.value.substr(0,characters);
}
exitObj.innerHTML = text.replace("{CHAR}",length);
}
答案 1 :(得分:0)
我不确定这是否会解决您的问题,但是textarea
不能像input[type=text]
那样工作,因为您必须回显元素中的值 < / em>像这样:
<textarea>test</textarea>
而不是:
<textarea value="test"></textarea>
但是,textarea DOM元素的value
属性应该以相同的方式访问,如下所示:
答案 2 :(得分:0)
请试试这个javascript:
function Counter(txtfield, limit) {
if (txtfield.value.length > maxlimit)
txtfield.value = txtfield.value.substring(0, maxlimit);
// else, update 'characters left' counter
else {
document.getElementById('myCounter').innerHTML = maxlimit - txtfield.value.length
}
}
这里“myCounter”是一个跨度id,如500 和“txtfield”是textarea ID。
我的ASP代码:
<asp:TextBox ID="txtMessage" onKeyUp="javascript:textCounter(this,<%=Count%>);" onKeyDown="javascript:textCounter(this,<%=Count%>);"></asp:TextBox>