是否有人知道如何预定义列并将其隐藏在SharePoint中?我想为现有的List创建第二个NewForm。包含两个选项的新列将确保区分报表/视图中的两个条目。
示例:
我有一个包含两列的列表:名称(文本)和类型(选择)。我想制作两个自定义NewForms。两者都只有一个可编辑字段,两者都有一个隐藏的预定义字段。
NewForm编号1将显示Name列,Type选为Male并隐藏。
NewForm编号2将显示Name列,Type选为Female并隐藏。
这可能吗?
此致 大卫
答案 0 :(得分:2)
这就是我实现这个的方法:)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$('select[title=ColumnName]').val('ValueYouWant');
$("nobr:contains('ColumnName')").parent('h3').parent('td').parent('tr').hide();
});
</script>
答案 1 :(得分:0)
当然可以在用户使用时修改表单: 您可以将页面置于编辑模式并添加内容编辑器Web部件,并使用javascript填充它以执行您想要的操作。或者您可以使用SharePoint Designer执行相同的操作。
至于为单个列表设置多个NewForm,我不知道。
答案 2 :(得分:0)
您可以通过右键单击SharePoint Designer中的现有页面并选择“从现有页面新建”来创建新的自定义NewForm.aspx页面。
正如Dan所说,您可以在页面中添加JavaScript以隐藏或默认值。您可以使用SPUtility.js(完全披露......我维护的JavaScript库):
SPUtility.GetSPField('Gender').SetValue('Male').Hide();
答案 3 :(得分:0)
调用以下函数并指定字段名称:
function HideField(FieldName)
{
$('nobr:contains("'+FieldName+'")').closest('tr').hide();
$('td.ms-formlabel:contains("'+FieldName+'")').parent().hide();
}