我有这个JavaScript来计算textarea中的字符,这是下面的代码:
$(document).ready(function () {
$('#count').click(counter);
$('#txtComment').change(counter);
$('#txtComment').keydown(counter);
$('#txtComment').keypress(counter);
$('#txtComment').keyup(counter);
$('#txtComment').blur(counter);
$('#txtComment').focus(counter);
$('#txtComment').focusin(counter);
$('#txtComment').focusout(counter);
$('#txtComment').mousedown(counter);
$('#txtComment').mouseenter(counter);
$('#txtComment').show(counter);
$('#txtComment').load(counter);
$('#txtComment').submit(counter);
$('#btnSubmit').click(counter);
});
counter = function () {
var value = $('#txtComment').val();
if (value.length == 0) {
$('#wordCount').html(0);
$('#totalChars').html(0);
$('#charCount').html(0); // I only use this one.
$('#charCountNoSpace').html(0);
return;
}
var regex = /\s+/gi;
var wordCount = value.trim().replace(regex, ' ').split(' ').length;
var totalChars = value.length;
var charCount = value.trim().length; // I only use this one.
var charCountNoSpace = value.replace(regex, '').length;
$('#wordCount').html(wordCount);
$('#totalChars').html(totalChars);
$('#charCount').html(charCount); // I only use this one.
$('#charCountNoSpace').html(charCountNoSpace);
};
我正在展示计数器:
<span id="totalChars">0</span> characters
当页面不是PostBack时,计数似乎正常。在页面上,我有一个提交按钮,它是一个在服务器上运行的ASP.NET控件。在单击按钮的场景中,页面正在进行PostBack,在提交数据后,它将显示相同的页面,保留textarea的内容,但是,即使存在,计数也会设置为零textarea上的value / s。正如你所看到的,我已经把表格应该做的几乎所有可能的事件都放了。
我需要计算字符并在PostBack之后显示它。
答案 0 :(得分:0)
您可以更改span标记以在服务器上运行,因此ViewState将在回发后保留该值。
<span id="totalChars" runat="server">0</span> characters
答案 1 :(得分:0)
counter
功能在textarea
与之互动之前不会触发。绑定所有事件后,在counter
函数中手动调用counter();
函数(IE $(document).ready
),代码将在页面加载时运行。
您可能认为load
事件会为您执行此操作,但load
仅适用于具有与其关联的URL的元素(如图像和脚本,see the documentation以获取更多信息)。
答案 2 :(得分:0)
您可以使用jQuery Cookies Plug-in来保留,例如:
保存:jQuery.cookie("cookie_counter", totalChars);
获取:var totalChars = jQuery.cookie("cookie_counter");
答案 3 :(得分:0)
例如。 function setVar(){alert(“Testing”); &lt;%Session(“TempVar”)=“setVar Test”%&gt; }