0

这是我的代码:

类 File_Form_AddFile 扩展 Custom_Form {

public function init() {

    $translate = Zend_Registry::get('translate');
    $this->setTranslator($translate);
    $this->setName("addfile");
    $this->setMethod('post');


    $this->addElement('text', 'title', array(
        'filters' => array('StringTrim'),
        'validators' => array(
            array('StringLength', false, array(0, 50)),
        ),
        'required' => true,
        'label' => __('Title') . ':',
    ));


    $this->addElement('radio', 'type', array(
        'label'=>__('Applicant Type'),
        'multiOptions' => array(
            'office' => 'Office',
            'community' => 'Community',
            'person' => 'Person',
        ),
        'required' => true,
        'separator' => '',
        'value' => 'office'
    ));


    **// I want this section to show only after 'community' is clicked at above input field.**

    $this->addElement('radio', 'community_is_registered', array(
        'label'=>__('Registered Community?'),
        'multiOptions' => array(
            1 => 'Yes',
            0 => 'No',
        ),
        'separator' => '',
        'value' =>'0'
    ));


    $this->addElement('text', 'name', array(
        'filters' => array('StringTrim'),
        'validators' => array(
            array('StringLength', false, array(0, 100)),
        ),
        'required' => true,
        'label' => __('Applicant Name') . ':',
    ));



    $this->addElement('submit', 'save', array(
        'required' => false,
        'ignore' => true,
        'label' => __('Save'),
    ));
    $this->save->removeDecorator('label');
}

}

这是一个添加文件的一些信息的表格。在这里我想显示“注册社区?”部分。只有在“申请人类型”中单击“社区”按钮后。求救!!

4

1 回答 1

0

由于您希望基于客户端发生的某些操作在客户端发生某些行为,因此这似乎从根本上是一个客户端问题。

也许最简单的事情是:

  1. 在服务器端表单创建期间,将某个 CSS 类添加到 Registered Community 元素(或显示组,如果它是元素的集合)。

  2. 使用前端 CSS 隐藏该类的所有表单元素。

  3. 将客户端单击处理程序添加到“申请人类型”元素,当“申请人类型”具有所需值时,该处理程序删除/更改类或显示/隐藏“注册社区”部分。

于 2013-06-02T06:44:21.687 回答