2013-03-03 69 views
0

我試圖限制使用Project Server 2010的項目詳細信息頁面(PDP)中的「項目說明」自定義字段的長度。 我在內容編輯器Web部件中使用了以下jQuery到PDP:在項目詳細信息頁面中運行jQuery

<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script> 
<script> 
    $(document).ready(function(){ 
     var textArea = $("textarea[title$='Project Notes']"); 
     textArea.keypress(function() 
     { 
      var text = textArea.text(); 
      if(text.length > 10) 
      { 
       alert("Project Notes cannot exceed 100 characters in length."); 
       textArea.val(text.substring(0,9)); 
      } 
     }); 
    }); 
</script> 

但是,當用戶鍵入到文本區域時,什麼也沒有發生。事件不會觸發。我曾嘗試對代碼進行各種修改,但結果相同。 請讓我知道我缺少什麼。

謝謝。

回答

0

您可以使用maxlength屬性作爲html元素。

<textarea maxlength="10" rows='5' cols='25'></textarea> 

,如果我們用你的腳本去,然後用.val(),而不是.text()。表單元素確實具有您必須輸入文本的值。無論是input type text還是textarea

var textArea = $("textarea[title$='Project Notes']"); 
textArea.keypress(function() { 
    var text = textArea.val(); 
    if (text.length > 10) { 
     alert("Project Notes cannot exceed 100 characters in length."); 
     textArea.val(text.substring(0, 9)); 
    } 
}); 

可以在fiddle here

+0

謝謝您的意見,但是,建議的解決方案不起作用。問題是事件不在Project Server頁面內觸發。即使我刪除了keypress函數中的代碼並保留了一個簡單的警報,它仍然不能執行。我嘗試使用鍵控而不是按鍵,但結果相同。當用戶鍵入文本區域時事件不會觸發。 – Moe 2013-03-04 05:39:28

0

我已經改變了文本區域的文本框中嘗試了這一點,並在事件開始正常射擊。

相關問題