0

我有一个简单的要求,即禁用 SharePoint 编辑表单中的多个选择字段。

我尝试设置不起作用的 attr('readonly','readonly') ,选择字段仍然可以编辑。

然后我尝试了 attr('disabled','disabled') 这有效,因为该字段显示为灰色,并显示先前设置的值。但是在保存其他编辑的值时,选择字段恢复为选择中的第一项列表...

感激地收到任何想法,我对此很陌生!

干杯

拉斯

   $("document").ready(function() {
    //$("select[title='Department']").attr('disabled', 'disabled');
    //$("select[title='Department']").attr('readonly', 'readonly');
});
4

3 回答 3

0

SharePoint 列表表单实际上以名为的 JavaScript 函数的形式公开了一种将功能附加到保存操作的方法PreSaveAction

在您的列表表单上声明它,它将在用户单击确定之后和表单回发之前被调用。在此处重新启用该字段。您必须返回一个布尔值,让表单知道它是否应该继续保存。

例如

function PreSaveAction() {
   alert("Hi");
   // Re-enable any disabled fields here
   return true;
}
于 2013-10-09T23:59:10.303 回答
0

在您的 XSL 中,使用 SharePoint Designer 替换您的 SharePoint:SaveButton 控件并添加一个表单操作按钮。

这...
<SharePoint:SaveButton runat="server" ControlMode="New" id="savebutton1" />

对此的更改...
<input type="button" id="savebutton1" name="savebutton1" class="ms-ButtonHeightWidth" value="Save" onclick="javascript: $('select[title="Department" ;]').removeAttr('disabled'); {ddwrt:GenFireServerEvent('__commit')}" />

于 2013-10-09T20:12:05.190 回答
0

据我了解,您仅在您的选择设置为部门时才应用它。如果是,您需要创建另一个函数来 removeAttr('disabled')。

应用后,该属性不会自动删除。您的代码是说,当文档准备好(请求)时,禁用 Department 的所有选择字段。

于 2013-01-29T15:36:03.657 回答