1

Zend_Formがありますが、フィールドの1つを非表示にして、ユーザーに表示されないようにする必要がある場合があります。コントローラでフォームを呼び出すときに、フィールドの1つを非表示に変更する方法はありますか?

ありがとうKousha

4

2 に答える 2

2

これに対する最善の解決策は、要素を非表示にする必要があるときに、特定のクラスを要素に追加することです。完璧な解決策ではないかもしれませんが、説明させてください。

まず、Zend Form で要素タイプを切り替えるのは非常に困難です。あなたの要素は実際にはクラスです。したがって、テキストは Zend_Form_Element_Text です。したがって、'type' 属性を変更するほど簡単ではありません。

要素をフォームに残す必要がある場合 (上記の回答が示唆するように要素を削除しない場合)、他の唯一のオプションは CSS で要素を非表示にすることです。

非表示にする必要がある場合は、次のコードを試してください。

$element = $form->getElement('MyElement');
$newClass = trim($element->getAttrib('class') . ' hidden');
$element->setAttrib('class', $newClass);

次に、もちろん、.hidden クラスの CSS を作成します。

お役に立てれば!

于 2013-02-12T16:13:25.113 に答える