使用Javascript计算和显示文本框中的字符数
我正在从事一个项目,该项目要求我计算文本框中输入的字符数,并在页面的其他位置动态显示结果 正如我所说,这最好用jQuery或Javascript来完成使用Javascript计算和显示文本框中的字符数,javascript,jquery,textbox,count,Javascript,Jquery,Textbox,Count,我正在从事一个项目,该项目要求我计算文本框中输入的字符数,并在页面的其他位置动态显示结果 正如我所说,这最好用jQuery或Javascript来完成 提前感谢。您可以在jQuery中执行此操作(因为您说您更喜欢它),假设您希望字符计数显示在id为=“characters”的div中: 更新:(由Dreami提供) 更新2:更新以包括长按按键。 <script Language="JavaScript"> <!-- function Length_TextField_Vali
提前感谢。您可以在jQuery中执行此操作(因为您说您更喜欢它),假设您希望字符计数显示在id为=“characters”的div中: 更新:(由Dreami提供) 更新2:更新以包括长按按键。
<script Language="JavaScript">
<!--
function Length_TextField_Validator()
{
var len = form_name.text_name.value.length; //the length
return (true);
}
-->
</script>
<form name="form_name" method="get" action="http://www.codeave.com/html/get.asp"
onsubmit="return Length_TextField_Validator()">
<input type="text" name="text_name">
<input type="submit" value="Submit">
</form>
来源:
函数countChars(countfrom、displayto){
var len=document.getElementById(countfrom).value.length;
document.getElementById(displayto).innerHTML=len;
}
输入0个字符。
纯Javascript。虽然问题已经解决,但我有兴趣分享我在一个项目中使用的一些东西:
Javascript代码:
函数countChar(val){
var len=val.value.length;
var ctext=len+“Chars”;
var str=val.value;
var部分=[];
var零件尺寸=160;
while(str){
如果(长度<零件尺寸){
var rtext=(partSize-str.length)+“剩余字符数”;
零件。推(str);
打破
}
否则{
零件推送(str.substr(0,零件尺寸));
str=str.substr(零件尺寸);
}
}
var ptext=parts.length+“parts”;
$('#text character').val(ctext);
$(“#文本部分”).val(ptext);
$('文本剩余').val(rtext);
}
这是我的偏好:
<textarea></textarea>
<span id="characters" style="color:#999;">400</span> <span style="color:#999;">left</span>
我想分享我的答案,我用在我的项目,它是工作良好
<asp:TextBox ID="txtComments" runat="server" TextMode="MultiLine" Rows="4" Columns="50" placeholder="Maximum limit: 100 characters"></asp:TextBox><br />
<span id="spnCharLeft"></span>
<script type='text/javascript'>
$('#spnCharLeft').css('display', 'none');
var maxLimit = 100;
$(document).ready(function () {
$('#<%= txtComments.ClientID %>').keyup(function () {
var lengthCount = this.value.length;
if (lengthCount > maxLimit) {
this.value = this.value.substring(0, maxLimit);
var charactersLeft = maxLimit - lengthCount + 1;
}
else {
var charactersLeft = maxLimit - lengthCount;
}
$('#spnCharLeft').css('display', 'block');
$('#spnCharLeft').text(charactersLeft + ' Characters left');
});
});
</script>
一年后你帮了我!谢谢你,伙计!如果有人想尝试(像我一样),我制作了一个JSFIDLE:它不会在右键单击和粘贴时触发。您可以在('input',updateCount')上使用$('textarea')代码>windows平台不将换行符计为2个字符吗?在这个例子中,它被算作一个。我在JSFIDLE中尝试了这个方法,但没有成功。你知道为什么吗?@unidha你也需要包括Jquery,因为底部3行上的$符号表示Jquery用于选择元素。这不会在右键单击和粘贴时触发。您可以在('input',updateCount')上使用$('textarea')代码>这是正确的,但我想指出,如果要向元素添加文本内容,最好使用.textContent而不是.innerHTML,因为innerHTML将数据解析为HTML,而.textContent使用更快速的纯文本。
<textarea></textarea>
<span id="characters" style="color:#999;">400</span> <span style="color:#999;">left</span>
$('textarea').keyup(updateCount);
$('textarea').keydown(updateCount);
function updateCount() {
var cs = [400- $(this).val().length];
$('#characters').text(cs);
}
<asp:TextBox ID="txtComments" runat="server" TextMode="MultiLine" Rows="4" Columns="50" placeholder="Maximum limit: 100 characters"></asp:TextBox><br />
<span id="spnCharLeft"></span>
<script type='text/javascript'>
$('#spnCharLeft').css('display', 'none');
var maxLimit = 100;
$(document).ready(function () {
$('#<%= txtComments.ClientID %>').keyup(function () {
var lengthCount = this.value.length;
if (lengthCount > maxLimit) {
this.value = this.value.substring(0, maxLimit);
var charactersLeft = maxLimit - lengthCount + 1;
}
else {
var charactersLeft = maxLimit - lengthCount;
}
$('#spnCharLeft').css('display', 'block');
$('#spnCharLeft').text(charactersLeft + ' Characters left');
});
});
</script>