如何向 Drupal 表单添加多值文本字段?
是否可能以及如何以 drupal 形式实现一个具有多个值的文本字段?
比如说,我有下一个代码:
function mymodule_admin_settings() {
$form['email'] = array(
'#type' => 'fieldset',
// ...
);
$form['email']['mymodule_email_recepient'] = array(
'#type' => 'textfield',
'#title' => t('Recepient'),
'#default_value' => variable_get('mymodule_email_recepient', '[email protected]'),
'#element_validate' => array('mymodule_email_validation'),
'#maxlength' => 30,
'#required' => TRUE,
);
// ...
return system_settings_form($form);
}
我应该对此表单进行哪些更改
以显示多个文本字段,例如
;
在提交时调用
variable_set('mymodule_email_recepient', array( /*some value*/ ))
。
感谢您的提前!
Is it possible and how to implement one textfield with multiple values in drupal form?
Say, I have the next code:
function mymodule_admin_settings() {
$form['email'] = array(
'#type' => 'fieldset',
// ...
);
$form['email']['mymodule_email_recepient'] = array(
'#type' => 'textfield',
'#title' => t('Recepient'),
'#default_value' => variable_get('mymodule_email_recepient', '[email protected]'),
'#element_validate' => array('mymodule_email_validation'),
'#maxlength' => 30,
'#required' => TRUE,
);
// ...
return system_settings_form($form);
}
What should I change for this form
to show multiple textfields, e.g.
<input name="mymodule_email_recepient[]" type="text" />
;to call
variable_set('mymodule_email_recepient', array( /*some values*/ ))
on submit.
Thanks for advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我今天正在搜索类似的内容,我使用的解决方案可能也适合您。
使用 CCK 模块,我创建了一个内容类型,该内容类型仅用于容纳应在我的自定义模块中使用的字段。
然后我在该内容类型中创建了一个 cck 字段(在我的例子中是一个 nodereferente 自动创建字段)。
最后,我使用以下提示将现有的 CCK 字段插入到我的自定义表单中: http://coder1.com/articles/adding-cck-field-to-custom-form
希望有帮助。
I was searching something similar today and the solution I used may be good enough for you too.
Using CCK module I created a content type destined only to shelter fields that should be used in my custom module.
Than I created a cck field (in my case a nodereferente auto-create field) inside that content type.
Finally, i inserted the existing CCK field into my custom form using the following tip: http://coder1.com/articles/adding-cck-field-to-custom-form
Hope it helps.