在项目详细信息页面中运行jQuery
问题描述:
我试图限制使用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>
但是,当用户键入到文本区域时,什么也没有发生。事件不会触发。我曾尝试对代码进行各种修改,但结果相同。 请让我知道我缺少什么。
谢谢。
答
您可以使用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
答
我已经改变了文本区域的文本框中尝试了这一点,并在事件开始正常射击。
谢谢您的意见,但是,建议的解决方案不起作用。问题是事件不在Project Server页面内触发。即使我删除了keypress函数中的代码并保留了一个简单的警报,它仍然不能执行。我尝试使用键控而不是按键,但结果相同。当用户键入文本区域时事件不会触发。 – Moe 2013-03-04 05:39:28