如何在SharePoint NewForm和EditForm中预定义和隐藏列?

时间:2011-02-15 13:59:23

标签: sharepoint hidden choice

是否有人知道如何预定义列并将其隐藏在SharePoint中?我想为现有的List创建第二个NewForm。包含两个选项的新列将确保区分报表/视图中的两个条目。

示例:

我有一个包含两列的列表:名称(文本)和类型(选择)。我想制作两个自定义NewForms。两者都只有一个可编辑字段,两者都有一个隐藏的预定义字段。

NewForm编号1将显示Name列,Type选为Male并隐藏。

NewForm编号2将显示Name列,Type选为Female并隐藏。

这可能吗?

此致 大卫

4 个答案:

答案 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页面。

New from Existing Page

正如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();
}