在 SharePoint 2010 Foundation 中工作时,我试图为不是特定组成员的用户禁用自定义 editform.aspx 上的字段。
因此,如果当前用户不是“更改控制 - 管理员”组的成员,请禁用 CCID 字段。
我在 SPServices codeplex 讨论区找到了似乎是解决方案的方法,但它没有按预期工作。不知道我在这里缺少什么。
它确实禁用了正确的字段,但当前用户是否在指定的组中并不重要。
如果我改变这个:
if($(xData.responseXML).find("Group[Name='Change Control - Admins']").length != 1)
对此:
if($(xData.responseXML).find("Group[Name='Change Control - Admins']").length == 1)
...然后该字段不会被禁用。但是,当前用户是否在指定组中也无关紧要。
任何帮助将非常感激。
这是我的代码:
<script language="javascript" type="text/javascript" src="/CodeLibrary/jquery-1.7.2.min.js"></script>
<script language="javascript" type="text/javascript" src="/CodeLibrary/jquery.SPServices-0.7.2.min.ssl.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function() {
var groupName;
$().SPServices({
operation: "GetGroupCollectionFromUser",
userLoginName: $().SPServices.SPGetCurrentUser(),
async: false,
completefunc: function(xData, Status) {
//if current user is not a member of this group...
if($(xData.responseXML).find("Group[Name='Change Control - Admins']").length != 1)
{
//...disable the following fields
$("input[Title='CCID']").prop("disabled", "disabled");
}
}
});
});
function PreSaveAction() {
$("input[Title='CCID']").removeProp("disabled");
return true;
}
</script>