无法使用jQuery操作EditForm.aspx中的输入

时间:2014-03-24 12:23:20

标签: jquery selection sharepoint-2013 document-ready onload-event

我尝试操纵网站集(SharePoint 2013)中列表的“EditForm.aspx”。 我希望根据用户权限级别隐藏一些输入字段。 为了实现这一点,我使用以下代码将编辑器webpart添加到EditForm.aspx的标准格式:

<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>

不幸的是,这并没有(至少完全)起作用。具有用户权限的部分运行良好,但我无法操纵输入字段。

我做错了什么?我试图用“_spBodyOnLoadFunctionNames.push()”替换“document.ready()”,但这也无济于事。

然后我读了一些关于“最小下载策略(MDS)”的内容,但我并不真正理解这个基于我对此的信息的概念。

有人可以帮忙吗?

非常感谢

本杰明

1 个答案:

答案 0 :(得分:0)

我认为错误在于查找 你使用标题,你应该使用ID。当id包含'$'时要小心。 使用firebug查看是否(jQuery(“。ms-formbody”)。find(input [title ='Dokumentennummer']返回任何内容。