【问题标题】:Can't manipulate inputs in EditForm.aspx with jQuery无法使用 jQuery 操作 EditForm.aspx 中的输入
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-23
      • 1970-01-01
      • 2012-12-03
      相关资源
      最近更新 更多