【发布时间】:2014-03-24 12:23:19
【问题描述】:
我尝试在我的网站集 (SharePoint 2013) 中操纵列表的“EditForm.aspx”。 我希望根据用户权限级别隐藏一些输入字段。 为了实现这一点,我在 EditForm.aspx 的标准表单中添加了一个编辑器 webpart,代码如下:
<script src="https://test-teamshare.zeiss.org/minimal/05011/Libs/jquery-latest.js"></script>
<script src="https://test-teamshare.zeiss.org/minimal/05011/Libs/jquery.SPServices-2013.01.js"></script>
<script type="text/javascript">
_spBodyOnLoadFunctionNames.push("hideInputFields");
function hideInputFields() {
$().SPServices({
operation: "GetRolesAndPermissionsForCurrentUser",
async: false,
completefunc: function(xData, Status) {
var userPerm = $(xData.responseXML).SPFilterNode("Permissions").attr("Value");
var userRole = $(xData.responseXML).SPFilterNode("Role").attr("Name");
if(jQuery(".ms-formbody").find(input[title='Dokumentennummer'])) {
alert("has found the Fiels");
}
if(userRole = "Vollzugriff") {
}
}
});
}
</script>
不幸的是,这(至少完全)不起作用。具有用户权限的部分效果很好,但我无法操作输入字段。
我做错了什么?我尝试将“document.ready()”替换为“_spBodyOnLoadFunctionNames.push()”,但这也无济于事。
然后我阅读了一些关于“最小下载策略 (MDS)”的内容,但根据我所掌握的信息,我并不真正理解这个概念。
谁能帮忙?
非常感谢您
本杰明
【问题讨论】:
标签: jquery selection sharepoint-2013 document-ready onload-event