私は2つの選択を持つフォームを持っています。最初の選択の値に基づいて、AJAX を使用して 2 番目の選択の値を更新します。これを行うと、フォームが無効になります。そこで、次の変更を行いました。
$form=$this->getAddTaskForm(); //the form
if(!$form->isValid($_POST)) {
$values=$form->getValues();
//get the options and put them in $options
$assignMilestone=$form->getElement('assignedMilestone');
$assignMilestone->addMultiOptions($options);
}
if($form->isValid($_POST)) {
//save in the database
}else {
//redisplay the form
}
基本的に、それが有効かどうかを確認し、ユーザーが最初の選択の値を変更したかどうかを確認します。2 番目の選択に入力されたオプションを取得し、それらをフォームに入力します。それから私はそれをもう一度検証しようとします。ただし、これは機能しません。誰でも理由を説明できますか?同じ「干し草の山に値が見つかりませんでした」が存在します。