以自定义形式动态创建字段

时间:2012-04-29 18:27:07

标签: ajax drupal form-submit

我正在为Drupal 7构建一个自定义模块。它包含一个庞大的表单。我创建了一个jQuery代码,它修改了表单并添加了一些新的选择,文本字段和复选框。

当我提交表单时,我无法从jQuery添加的字段中读取数据。

我下载了开发人员示例(http://drupal.org/project/examples)。有一个名为Add-more按钮的例子(ajax_example)。它似乎是提交所有数据,增加一个计数器,用新字段重建整个表单然后再发送表单。是否有可能避免将整个表单服务器发送到客户端?它不是最快的解决方案。

我想使用jQuery修改我的表单,提交它,重建它并验证它。每次更改都不需要将数据发送到服务器。

谢谢你,马丁。

1 个答案:

答案 0 :(得分:1)

I submit the form I am not able to read data from fields which were added by jQuery

确保在nameinputs元素中添加select字段。

$_POST['here_is_the_name_which_you_give_to_your_elements']读取服务器端的输入表单字段的值。

我破译表单将有多个输入并选择动态创建的输入。 管理:

[]字段的value之后添加name。 对于Eg:

 <input type='text' value='' name='my_custom_input[]' id='this_is_not_reqiured_1'>
 <input type='text' value='' name='my_custom_input[]' id='this_is_not_reqiured_2'>

您可以通过<input>name获取数组中服务器端my_custom_input = POST的所有GET的值。

注意:不需要ID但是如果需要操作这些DOM元素,则可以使用和维护计数器。