Sharepoint 2010 如果用户不是指定SharePoint组的成员,则使用SPSServices禁用字段 在SharePoint 2010基金会中工作,我试图禁用自定义编辑形式的字段。对于不属于特定组成员的用户,ASPX。
因此,如果当前用户不是“更改控制-管理员”组的成员,请禁用CCID字段 我在SPServices codeplex讨论区找到了似乎是解决方案的地方,但它并没有像预期的那样工作。不知道我错过了什么 它确实会禁用正确的字段,但当前用户是否在指定的组中并不重要 如果我改变这一点: if($(xData.responseXML).find(“组[Name='Change Control-Admins']”)长度!=1) 为此: if($(xData.responseXML).find(“组[Name='Change Control-Admins']”)。长度==1) …则该字段不会被禁用。但是,当前用户是否在指定的组中也无关紧要 任何帮助都将不胜感激 这是我的密码:Sharepoint 2010 如果用户不是指定SharePoint组的成员,则使用SPSServices禁用字段 在SharePoint 2010基金会中工作,我试图禁用自定义编辑形式的字段。对于不属于特定组成员的用户,ASPX。,sharepoint-2010,spservices,Sharepoint 2010,Spservices,因此,如果当前用户不是“更改控制-管理员”组的成员,请禁用CCID字段 我在SPServices codeplex讨论区找到了似乎是解决方案的地方,但它并没有像预期的那样工作。不知道我错过了什么 它确实会禁用正确的字段,但当前用户是否在指定的组中并不重要 如果我改变这一点: if($(xData.responseXML).find(“组[Name='Change Control-Admins']”)长度!=1) 为此: if($(xData.responseXML).find(“组[Name='
<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>
$(文档).ready(函数(){
var-groupName;
$().SPServices({
操作:“GetGroupCollectionFromUser”,
userLoginName:$().SPServices.SPGetCurrentUser(),
async:false,
completefunc:函数(扩展数据,状态){
//如果当前用户不是此组的成员。。。
if($(xData.responseXML).find(“组[Name='Change Control-Admins']”)长度!=1)
{
//…禁用以下字段
$(“input[Title='CCID']”)prop(“disabled”、“disabled”);
}
}
});
});
函数PreSaveAction(){
$(“输入[Title='CCID'])。删除属性(“禁用”);
返回true;
}
我也在做类似的事情。在我的例子中,我正在检查以“GCP”开头的组的组成员资格,并从匹配的组中提取一些文本。真正有用的是使用console.log()
登录Firefox控制台。Firefox控制台允许您深入到您登录到控制台的对象中,这是IE没有提供的(此日志代码不应包含在发布代码中,特别是因为它可能在IE中失败)。该控制台可从Firefox中的Web Developer菜单获得
$(document).ready(function() {
$().SPServices({
operation: "GetGroupCollectionFromUser",
userLoginName: $().SPServices.SPGetCurrentUser(),
async: false,
completefunc: function(xData, Status) {
console.log(xData.responseXML);
var $groups = $(xData.responseXML).find("Group[Name^='GCP']");
console.log("$groups.length:" + $groups.length);
if ($groups.length) console.log($groups.get(0).outerHTML);
var re = /GCP ((?:[^ ]*)(?:(?! Managers) [^ *]*)*) Managers/i;
var org = "";
$groups.each(function(index, elt){
var name = $(this).attr("Name");
var matches = re.exec(name);
if (matches){
org = matches[1];
return false;
}
});
setOrg(org);
}
});
});