首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用<SELECT>作为配置向Zend_Form描述XML元素的正确语法是什么?

使用<SELECT>作为配置向Zend_Form描述XML元素的正确语法是什么?
EN

Stack Overflow用户
提问于 2010-05-21 01:37:24
回答 1查看 602关注 0票数 0

我使用XML配置文件来告诉Zend_Form我想要什么元素。我希望有一个<select>元素,但是我不确定如何使用XML语法添加<option>标记。

当然,我遗漏了一些非常基本的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-21 03:00:55

ZF中的编程表单只支持表单元素的参数类型、名称和选项(不是选项的含义,而是元素设置的含义,如required或label)。假设动态设置多个值,例如:

代码语言:javascript
复制
$formConfig = new Zend_Config_Xml('/path/to/form.xml');
$form = new Zend_Form($formConfig);
$form->getElement('myselect')->setMultiOptions($arrayOfOptions);

当然,也有可能使用自己的命名约定在XML文件中实际设置元素选项(将被Zend_Form忽略),然后从那里加载它们,而不是在运行时硬编码或检索它们,例如:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<form>
    <user>
        <example>
            <name>mysampleform</name>
        <method>post</method>
        <elements>
        <myselect>
                <type>select</type>
                <name>myselect</name>
                <multioptions> <!-- custom tag -->
                    <option value="First">1</option>
                    <option value="Second">2</option>
                    <option value="Third">3</option>
                </multioptions>
                <options>
                    <label>Choose an option:</label>                        
                    <required>true</required>
                </options>
            </myselect>
            <submit>
            <type>submit</type>
            <options>
                <value>Submit</value>
            </options>
            </submit>   
        </elements>    
    </example>
</user>

代码语言:javascript
复制
$formConfig = new Zend_Config_Xml('/path/to/form.xml');
$form = new Zend_Form($formConfig);
$form->getElement('myselect')->setMultiOptions(
    $formConfig->user->example->elements->myselect->multioptions->toArray()
);

然而,它似乎并不比将这些选项存储在其他地方更有效。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2876344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档