0

我想知道是否有可能根据某些选项添加表单字段,

例如:

当用户选择选项数 = 8 并单击保存时,在下一个视图中,用户会看到 8 个文本框,每个文本框都有不同的名称。

我试图不通过.xml文件使用表单字段类,但无法使其正常工作。

Any1知道这是否可能?

4

2 回答 2

1

为了能够动态添加列表项,您必须编写自己的 JFormField 类并安装在组件中。

在您的情况下,您扩展 JFormFieldList 并覆盖 getOptions() 函数。在 .xml 中,您使用新创建的输入类型名称。

这里如何创建和使用新的字段类(从这里开始):http ://docs.joomla.org/Creating_a_custom_form_field_type

接下来是如何扩展 JFormFieldList 类的示例:http://docs.joomla.org/J2.5: How_to_add_custom_filters_to_components

在第二个链接中为简单起见(仅作为示例)

public function getOptions()
    {
            // Initialize variables.
            $options = array(0=>"Option 0", 1=>"Option 1");


            return $options;
    }
于 2014-09-02T11:14:55.017 回答
1

是的,这是可能的。您可以从表单中获取字段数。假设它是 10( $count)。

下一个视图,您可以如下循环并创建文本框。

for($i = 1; $i <= $count; $i++)
 echo '<input type="text" name="fields[]" class="class_fields">';

在后端,您可以获取如下数据。

$values = JRequest::getVar( 'fields', 'default_values', 'post', 'array' );

阅读更多

如果您有任何问题,请告诉我

于 2012-12-17T11:04:53.513 回答