【问题标题】:How to create a persistent onChange watch?如何创建一个持久的 onChange 手表?
【发布时间】:2014-03-31 13:18:09
【问题描述】:

我有一个有效的 javascript 函数来检查 web 表单的 TextBox 中的字符数,该函数被 onChange 调用。警报通知用户字符限制和当前字符数,因此倾向于在​​警报上单击确定后减少字符数。但是,此时 onChange 将不起作用。

我想就如何在字符数超过限制时连续调用我的函数(并且用户根据字符数反馈向下递增)提出建议。

我的功能:

<script type="text/javascript">
function CountDesc(text,long)
{
    var maxlength = new Number(long); 
    var count = text.value.length;
    if (count  > maxlength){
    text.value = text.value.substring(0,maxlength);alert("Incident Description may 
        only contain " + long + " characters.\nCurrent character count is: " + count);
    }
}

我的函数调用:

<asp:TextBox ID="txtDescription" runat="server" Height="80px" TextMode="MultiLine"
Width="680px" MaxLength="1000" TabIndex="33" onChange="CountDesc(this,1000)"></asp:TextBox>

谢谢。

【问题讨论】:

标签: javascript html


【解决方案1】:

您完全可以使用 HTML5。

请记住,您不需要支持旧版浏览器本身。无论如何,您都应该检查服务器端的字符数。如果字符数超过指定的长度,则会在此处抛出错误消息。表格内检查是不错的选择,但不是必需的。


通常alert不是很好的用户体验。除非他同时处理弹出窗口和 JavaScript 块,否则用户无法继续 - 可能会破坏页面上的其他内容。

您可以在文本区域附近添加一条错误消息,指示您超出了限制。这是通知用户输入问题的一种侵入性要小得多的方式。同样,无论如何您都应该检查您的输入服务器端。如果用户选择忽略该消息,那是他的选择,但您仍然不会接受输入。

【讨论】:

  • 感谢您的回复。这是客户端要求 - 客户端验证和警报。我选择了 onChange 和 onKeyPress="return(this.value.length
猜你喜欢
  • 1970-01-01
  • 2011-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-11
  • 1970-01-01
  • 2011-04-21
  • 2017-02-04
相关资源
最近更新 更多