创建自我更新表单

时间:2011-09-21 17:43:15

标签: javascript html forms dom

我正在网页上创建一个表单,但我想在用户输入值时更改该表单。

示例:如果我们有一个下拉菜单:ObjectType

有人选择Cars,当我选择下面的新选项时,我会选择Vegetables。 Say,Make,Model,Year,&注释

然而,如果该人选择Root Vegetables,那么我想要的只是appendChild()的复选框。

我的问题是最好的方法是什么。我的形式非常错综复杂,可能会有20种不同的设置,但我希望对这些设置进行排序。我使用selectElementById()和AJAX请求,但我最终得到了乱序字段。最重要的是,偶尔缓慢的连接会让个人等待场出现。

我应该将所有这些内容保存在数组中,而不是使用这些表单对象(技术上是表的一部分)加载HTML页面吗?是否可以只加载一个HTML页面或XML对象,并在保存后对该结果使用<td> <strong>Abilities:</strong> </td> <td> <textarea id ='abilities' name="abilities" style="width:100%" rows="4" onchange='userCreation.updateAbilities()' onkeyup='userCreation.updateAbilities()'> </textarea> </td>

我正在加载的对象是行,这里是一个示例以及它需要能够执行的操作:

tr

我的页面中有一个表格,我正在使用JavaScript创建一个新的innerHTML元素,将其设置为{{1}},然后附加该子元素。有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

我只是将所有表单元素放在一个页面中,并隐藏那些你没有使用CSS的表单元素。这样你维持秩序,而不必等待字段显示。它会略微减慢页面加载时间,但会让您的生活变得更加简单。

否则,我会将每个字段的名称(或其他)存储在数组或对象中,当需要加载AJAX时,首先查找其位置并将其放在那里。

答案 1 :(得分:0)

只需在页面中拥有整个for,只需根据用户交互更改不同部分的可见性,而不是通过AJAX动态加载元素。