【问题标题】:Add JavaScript to NewForm for SPList in SharePoint为 SharePoint 中的 SPList 添加 JavaScript 到 NewForm
【发布时间】:2014-05-22 09:29:23
【问题描述】:

我在 SharePoint 中有一个 SPList,我想为其编辑 NewForm.aspx。我想以编程方式将一些 JavaScript 作为 WebPart 添加到表单中。

我该怎么做?

感谢您的帮助。

【问题讨论】:

  • 好吧,我有我的 SPContentType 并尝试使用“NewFormUrl”,但在我的服务器上找不到 newform.aspx。我就是不知道去哪里找。
  • @JamesMontagne:对我来说似乎是一个公平的问题,这家伙显然没有经验。

标签: c# javascript sharepoint


【解决方案1】:

在 SharePoint 设计器中的“列表和库”部分打开列表。在列表设计器视图中您将看到与列表关联的表单列表,通常会列出一个“NewForm.aspx”表单。右键单击它,然后选择“以高级模式编辑文件”以公开用于表单的 ASP .Net / HTML 标记。

现在,在页面标记中添加您的自定义块。我通常建议您找到 ID 为“PlaceHolderMain”的 asp:content 元素。在内容占位符元素打开后立即将脚本添加为第一个元素,例如:

<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">
<script type='text/javascript' language='javascript'>
$(document).ready(function(e) { alert('my custom script has loaded'); });
</script>
..
.. Existing markup
..
</asp:Content>

我上面的示例假设您的母版页中存在 jQuery,以便在表单完全加载后显示消息。

【讨论】:

  • @Servy:并不总是必要的,我提供的示例只会在整个页面/DOM 加载后才会执行,因此将块放在头部没有任何好处。原始海报也没有说明任何标准合规性。
  • 我没有说它需要进入头脑,只是说它应该。当今大多数浏览器都允许您做不该做的事情,但这并不意味着您应该鼓励这种行为。
  • 我从新表单中复制了代码并将其粘贴到 vs2010 中的 aspx 文件中。设置新表单的代码是 contentType.NewFormUrl = @"C:\Hannes\Calendarwork\HannesCalendar\NewFormjs.aspx";但是当我激活该功能时,我得到“'/'应用程序中的服务器错误。运行时错误”。
  • @carruw:表单不存在于物理 .aspx 文件中,它们存储在网站集内容数据库中。确保使用 SharePoint 设计器工具进行更改并提交回来。 :-)
【解决方案2】:

如果您不想(或不能)使用 SharePoint Designer,您可以放置​​

?ToolpaneView=2

在 URL 的末尾以设计模式在浏览器中打开 View/Edit/new 表单。

http://blog.pentalogic.net/2010/07/how-to-edit-list-forms-sharepoint-2010/

【讨论】:

  • 长期使用 SharePoint。这是我第一次看到这个提示。谢谢。
  • 你能解释一下,它怎么能在newform.aspx页面上添加脚本?
  • @AlexZhukovskiy - 您以编辑模式打开页面(如此处所示),然后将 Centent 编辑器 Web 部件 (CEWP) 添加到将包含您的脚本的页面。
  • 哦,我知道了。我认为这不是“程序化”。我找到了一个真正的自动化解决方案:导出newform.aspx,随意修改,然后在list shema中使用并部署。
  • @Alex 抱歉,我实际上不记得了。我改变了我的工作,从我的简历中删除了与 SharePoint 相关的所有内容,删除了所有 SP 项目并发誓再也不碰它。所以现在我对 aspnetcore 和 Rust 项目很满意,所以我祝你好运。
猜你喜欢
  • 1970-01-01
  • 2016-07-29
  • 2016-03-10
  • 1970-01-01
  • 2021-01-01
  • 2011-11-01
  • 2012-04-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多