如何添加文本;“最大字符数”;到JavaScript计数器?
我有一个多达125个字符的JavaScript计数器。一旦达到125,计数器显示“125”。我怎么能让它说“最大字符数”呢如何添加文本;“最大字符数”;到JavaScript计数器?,javascript,Javascript,我有一个多达125个字符的JavaScript计数器。一旦达到125,计数器显示“125”。我怎么能让它说“最大字符数”呢 函数textCounter(字段、countfield、maxlimit){ 如果(field.value.length>maxlimit) field.value=field.value.substring(0,maxlimit); //否则,更新“字符左”计数器 其他的 countfield.value=field.value.length; } (最多可输入125个
函数textCounter(字段、countfield、maxlimit){
如果(field.value.length>maxlimit)
field.value=field.value.substring(0,maxlimit);
//否则,更新“字符左”计数器
其他的
countfield.value=field.value.length;
}
(最多可输入125个字符。)
字符总数
为什么不改为这样做:
它让用户知道在键入时还剩下多少。看小提琴的演奏。也不需要jQuery。基本JavaScript
<textarea id="remLen" name="remLen" onkeyup="textCounter('remLen','remLen_count',125);">Some initial text</textarea>
<div id="remLen_count"></div>
textCounter=function(textarea, countdown, maxlimit)
{
textareaid = document.getElementById(textarea);
if (textareaid.value.length > maxlimit)
textareaid.value = textareaid.value.substring(0, maxlimit);
else
document.getElementById(countdown).innerHTML = ''+(maxlimit-textareaid.value.length)+' characters left';
}
/*to correctly set the chars left initially if there is initial text in the field*/
textCounter('remLen','remLen_count',125);
一些初始文本
text计数器=函数(text区域、倒计时、最大限制)
{
textareaid=document.getElementById(textarea);
如果(textareaid.value.length>maxlimit)
textareaid.value=textareaid.value.substring(0,maxlimit);
其他的
document.getElementById(倒计时).innerHTML=''+(MaxLimitTextAreaId.value.length)+'左字符';
}
/*如果字段中有初始文本,则正确设置初始左字符*/
文本计数器('remLen','remLen_count',125);
这里有一个例子。我使用jQuery是因为,为什么不呢
HTML将如下所示:
<form name="myform">
<textarea id="myMessage"></textarea>
</form>
<font id="characterCounter"></font>
剧本是:
$("#myMessage").keyup(function(){
var length = $(this).val().length;
if (length != 125 && length < 125)
$("#characterCounter").html(length + " of 125 characters. " + (125 - length) + " left!");
else if (length > 125)
$("#characterCounter").html((length - 125) + " extra characters!");
else
$("#characterCounter").html("Max characters!");
}).keyup();
$(“#myMessage”).keyup(函数(){
var length=$(this).val().length;
if(长度!=125&&length<125)
$(“#characterCounter”).html(长度+”共125个字符。“+(125-长度)+“左!”);
否则,如果(长度>125)
$(“#characterCounter”).html((长度-125)+“额外字符!”);
其他的
$(“#characterCounter”).html(“最大字符数!”);
}).keyup();
基本上,每次你按下一个键,它都会用字符数更新标签。试着将你的js函数文本计数器改为这个,如果你想看是否能正常工作
这很有效,但我不知道是否能回答您的问题。太好了,谢谢!如果代码中已经有文本,您是否知道如何更新代码?例如,如果我来到一个PHP表单页面,该页面的文本框中已经填充了10个字符,那么在我输入某些内容之前,表单仍然显示0。任何让计数器显示“10”的方法(如果有10个字符填写),然后回答您选择了它是正确的,但问题中的小写字母表示“取而代之”(显示约125),当您达到该数字时,答案代码将显示125,并在您过该数字后显示消息(下一次按键)。
<form name="myform">
<textarea id="myMessage"></textarea>
</form>
<font id="characterCounter"></font>
$("#myMessage").keyup(function(){
var length = $(this).val().length;
if (length != 125 && length < 125)
$("#characterCounter").html(length + " of 125 characters. " + (125 - length) + " left!");
else if (length > 125)
$("#characterCounter").html((length - 125) + " extra characters!");
else
$("#characterCounter").html("Max characters!");
}).keyup();
function textCounter(field, countfield, maxlimit) {
field.value = field.value.substring(0, maxlimit);
(field.value.length==125)?countfield.value="Max. Characters.":countfield.value=field.value.length;
}