C# Word倒计时无法在asp.net中工作
我在网上的一些参考资料中找到了一种用于字数计算的脚本语言。脚本是这样的C# Word倒计时无法在asp.net中工作,c#,javascript,asp.net,C#,Javascript,Asp.net,我在网上的一些参考资料中找到了一种用于字数计算的脚本语言。脚本是这样的 <script language = "Javascript"> function tbLimit() { var tbObj = event.srcElement; if (tbObj.value.length == tbObj.maxLength * 1) return false; } function tbCount(visCnt) { var tbObj = event.srcE
<script language = "Javascript">
function tbLimit() {
var tbObj = event.srcElement;
if (tbObj.value.length == tbObj.maxLength * 1) return false;
}
function tbCount(visCnt) {
var tbObj = event.srcElement;
if (tbObj.value.length > tbObj.maxLength * 1) tbObj.value = tbObj.value.substring(0, tbObj.maxLength * 1);
if (visCnt) visCnt.innerText = tbObj.maxLength - tbObj.value.length;
}
</script>
You have <asp:Label ID="lblCounts" runat="server" Text="500"></asp:Label> characters left.
我还添加了一个标签,它将像这样运行单词计数
<script language = "Javascript">
function tbLimit() {
var tbObj = event.srcElement;
if (tbObj.value.length == tbObj.maxLength * 1) return false;
}
function tbCount(visCnt) {
var tbObj = event.srcElement;
if (tbObj.value.length > tbObj.maxLength * 1) tbObj.value = tbObj.value.substring(0, tbObj.maxLength * 1);
if (visCnt) visCnt.innerText = tbObj.maxLength - tbObj.value.length;
}
</script>
You have <asp:Label ID="lblCounts" runat="server" Text="500"></asp:Label> characters left.
您还剩下字符。
有人能看到什么地方出了问题,阻止它运行吗 非常接近,您需要通过在
tbCount
的参数中添加引号来告诉Javascript ClientID是一个字符串:
tbOR.Attributes.Add("onkeyup", "return tbCount('" + lblCounts.ClientID + "');");
然后在Javascript中,使用document.GetElementById
查找它:
function tbCount(visCnt) {
visCntInput = document.getElementById(visCnt);
var tbObj = event.srcElement;
if (tbObj.value.length > tbObj.maxLength * 1) tbObj.value = tbObj.value.substring(0, tbObj.maxLength * 1);
if (visCntInput) visCntInput.innerText = tbObj.maxLength - tbObj.value.length;
}
目前,您假设
ClientID
返回对DOM对象的引用,实际上它返回一个客户端ID
,以便您可以定位该对象。尝试记录visCntInput
变量,并查看是否已填充该变量。你在用IE吗?因为event.srcelelement
是IE-only。记住要遵循标准,请使用
。