2014-03-31 33 views
0

我有一個工作的JavaScript函數檢查webform的文本框中的字符數,用onChange調用。該警報通知用戶字符限制和當前字符計數,所以傾向於在警告上單擊確定後減少字符數。但是,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> 

謝謝。

+0

請參閱http://stackoverflow.com/questions/451491/what-is-the-best-way-to-emulate-an-html-input-maxlength-attribute-on-an-html-t,http: //stackoverflow.com/questions/1125482/how-to-impose-maxlength-on-textarea-in-html-using-javascript和http://stackoverflow.com/questions/10468680/how-to-limit-number-字體在textarea字段處理php- – Nivas

+0

@Nivas好的反應 - 並且非常快,我可以添加。找到我需要的 - 以及幾個選擇。謝謝 – jdwired

回答

0

您可以完全使用HTML5。

請記住,您不需要支持舊瀏覽器perse。無論如何,你應該檢查字符計數服務器端。如果字符數超過指定的長度,則在那裏輸出錯誤消息。在形式檢查很好,但不是必需的。


通常alert是不是一個很好的用戶體驗。用戶不能繼續,除非他處理彈出窗口和JavaScript塊 - 可能會破壞頁面上的其他內容。

您可以在textarea附近添加一條錯誤消息,指出您已超出限制。這是一種通知用戶輸入問題的少得多的方式。同樣,你應該檢查你的輸入服務器端。如果用戶選擇忽略該消息,那麼,這是他的選擇,但您仍然不會接受輸入。

+0

感謝您的回覆。這是客戶端要求 - 客戶端驗證和警報。我解決了onChange,onKeyPress =「return(this.value.length <1000);」在兩者之間,我認爲他們會很開心。 – jdwired

相關問題