複数の資格を追加するシナリオがあり、次のような非表示フィールドに値を保存しています。
$("<input/>",{type:'hidden',value:deg,name:'degree[]'}).attr("data-deg",deg).appendTo("form");
$("<input/>",{type:'hidden',value:year,name:'year[]'}).attr("data-year",year).appendTo("form");
$("<input/>",{type:'hidden',value:inst,name:'inst[]'}).attr("data-inst",inst).appendTo("form");
var_dumpを実行すると、次の出力が表示されます
["degree"]=> array(2) { [0]=> string(4) "M.Sc" [1]=> string(4) "B.Sc" }
コントローラーで私はそれを次のように取得します
$Degree = $form->getValue('degree[]');
しかし、var_dump($ Degree)は私にNULLを与えます、どうすれば値を取得できますかplz help
編集
これが私のフォームのようです
$degreename = $this->createElement('select', 'degreename')
->setRequired(true);
$degreename->removeDecorator('label');
$degreename->removeDecorator('htmlTag');
$degreename->removeDecorator('Errors');
$ddloptions = $this->db->GetDegrees();
$degreename->setMultiOptions($ddloptions);
$degreename->addMultiOptions(array(
'0'=>'--Select Degree--'
));
$degreename->setValue(0);
$passingyear = $this->createElement('select', 'passingyear')
->setRequired(true);
$passingyear->removeDecorator('label');
$passingyear->removeDecorator('htmlTag');
$passingyear->removeDecorator('Errors');
$passingyear->addMultiOptions(array(
'0'=>'--Select Passing Year--',
'1950'=>'1950',
'1951'=>'1951',
'1952'=>'1952',
)
);
$passingyear->setValue('0');
$institute = new Zend_Form_Element_Text('institute');
$institute->setRequired(false)
->addFilter('StripTags')
->addFilter('StringTrim');
$institute->removeDecorator('label');
$institute->removeDecorator('htmlTag');
$institute->removeDecorator('Errors');
degreename
とは必須ですがpassing year
、常にユーザー0
institute
に設定した値がfalse
あり、複数の資格を追加できます。ユーザーを選択するたびに、上記のような非表示のフィールドを追加します。