如何修改自动生成的HTML表单?

时间:2014-04-04 16:59:34

标签: javascript jquery html forms

我正在使用营销自动化平台创建网络表单。我想添加一个与jquery一起运行的字段来执行自动完成。不幸的是,表单是通过软件中的WYSIWYG编辑器生成的,然后在呈现时生成并放入页面。页面HTML中显示的表单的唯一代码是一个简单的变量占位符 - %% FORM :: DEFINITION %% - 当您访问URL时,它将替换为表单代码。软件支持团队告诉我,做出我想做的改变是不可能的,我认为这是一个挑战。

我唯一需要做的就是添加一个id =" autocomplete-dynamic"属性到表单上的输入。我有两个想法可以实现这一点。

第一个也是最可取的选项是在页面底部运行的一些脚本,它只是在页面呈现后将属性插入到输入标记中。这只是客户端的更改,但由于所有这些都使文本字段能够从另一个表中查找值,所以应该没问题。如果某人有脚本拦截器,则不会阻止他们正常输入文本字段,只是自动查找不起作用。我们正在尝试更容易地从数千种可能性列表中选择项目,但如果有人必须在没有自动填充的情况下键入自己的条目,那么这不会是一场灾难。这似乎是一个干净的解决方案,但我不确定是否可以做到。

另一种可能性是从软件中获取表单代码并将其嵌入单独的HTML文档中,并在那里进行更改。您可以提取表单的原始HTML以便在其他页面上使用,但将此代码直接粘贴到登录页面会导致错误。所以,我的想法是,如果我已经将软件生成的代码放在单独的Web服务器上的HTML页面中,我可以根据需要对其进行修改,然后转身并使用iframe将其粘贴回来在着陆页中。该软件不应该抱怨,因为该表单正在外部网站上使用,就像它应该是......我刚刚将该外部网站隐藏在平台托管页面内。

我认为,如果实际可行,选项1仍然会更容易实现。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您的第一个解决方案似乎完全合适。

$(function() {
    $('#myForm input').attr('id', 'autocomplete-dynamic');
});

这可以添加到脚本标记内的任何位置,因为它包含在一个简写document.ready函数中,该函数等待运行直到DOM准备好。