【发布时间】:2012-09-10 06:52:26
【问题描述】:
我想保留一个包含多个字段的记录列表,并通过一个表单输入它们,该表单将现有记录显示为由不同文本框组成的列表。同一个表单上的“新建”按钮将为新条目创建新的文本框行。
是否可以通过单击按钮在表单上动态创建文本框等控件?用JS还是插件?
【问题讨论】:
标签: forms controls crm microsoft-dynamics
我想保留一个包含多个字段的记录列表,并通过一个表单输入它们,该表单将现有记录显示为由不同文本框组成的列表。同一个表单上的“新建”按钮将为新条目创建新的文本框行。
是否可以通过单击按钮在表单上动态创建文本框等控件?用JS还是插件?
【问题讨论】:
标签: forms controls crm microsoft-dynamics
为此,您最好制作一个自定义网页并将其显示在表单上的 iFrame 中。
我不相信动态创建文本框会很好,我不认为它会被支持——你必须改变 DOM。此外,您还必须实现一些奇怪且过于复杂的逻辑。
【讨论】:
过去我曾收到过这样的要求。虽然不完全支持,但这是可能的,我已经看过很多次了。
您最好阅读一些文档以熟悉通过 javascript 向 CRM 服务发出请求。您需要将库添加到您的解决方案中,并确保使用它们的表单引用它们。
从这里开始:http://msdn.microsoft.com/en-us/library/gg334279.aspx
使用 javascript 进行 DOM 更改时,jQuery 和 jQueryUI 也会让您的生活更轻松。
阅读 knockoutjs。我基本上已经完成了您所要求的相同操作,并且利用敲除使添加\删除\更新行的任务变得如此简单。
完成任务的最佳方法是首先创建一个具有基本结构的 html 页面 Web 资源。还要创建页面引用的 javascript Web 资源。该文件将用于动态修改页面。在您的实体表单中,添加一个新的侧边导航链接并将其指向您的网络资源。
现在,当该网页加载时,在 js 文件中有一个事件处理程序,用于请求该实体的记录列表并显示它们。您可以在此处添加事件处理程序和按钮,以便您捕获事件,然后对 CRM 进行适当的服务调用。
【讨论】:
为什么不在单独的隐藏选项卡中将表单上已有的字段?
然后使用javascript来:
显示标签
显示提交按钮
(用户输入数据)
通过 ajax 提交值 (http://msdn.microsoft.com/en-us/library/gg328025.aspx)
清除文本框
隐藏标签
【讨论】: