Zend_Formがありますが、フィールドの1つを非表示にして、ユーザーに表示されないようにする必要がある場合があります。コントローラでフォームを呼び出すときに、フィールドの1つを非表示に変更する方法はありますか?
ありがとうKousha
Zend_Formがありますが、フィールドの1つを非表示にして、ユーザーに表示されないようにする必要がある場合があります。コントローラでフォームを呼び出すときに、フィールドの1つを非表示に変更する方法はありますか?
ありがとうKousha
これに対する最善の解決策は、要素を非表示にする必要があるときに、特定のクラスを要素に追加することです。完璧な解決策ではないかもしれませんが、説明させてください。
まず、Zend Form で要素タイプを切り替えるのは非常に困難です。あなたの要素は実際にはクラスです。したがって、テキストは Zend_Form_Element_Text です。したがって、'type' 属性を変更するほど簡単ではありません。
要素をフォームに残す必要がある場合 (上記の回答が示唆するように要素を削除しない場合)、他の唯一のオプションは CSS で要素を非表示にすることです。
非表示にする必要がある場合は、次のコードを試してください。
$element = $form->getElement('MyElement');
$newClass = trim($element->getAttrib('class') . ' hidden');
$element->setAttrib('class', $newClass);
次に、もちろん、.hidden クラスの CSS を作成します。
お役に立てれば!