0
我使用symfony 1.4和propel orm。我有3個表格,如國家,州和縣。我想使用onchange屬性來避免重載並傳遞無關的記錄。我如何在表單類中使用onchange屬性。如何使用symfony 1.4的onchange屬性
我使用symfony 1.4和propel orm。我有3個表格,如國家,州和縣。我想使用onchange屬性來避免重載並傳遞無關的記錄。我如何在表單類中使用onchange屬性。如何使用symfony 1.4的onchange屬性
爲什麼在表單類中使用它,而不是在顯示字段時查看(並使用它與ajax)?假設您沒有執行echo $form
,並且您正在回顯每個字段(標籤,錯誤,字段)。如果你做一個echo $form
,你可能需要寫在窗體類(這是屬於視圖,而不是在課堂上,但這是另一個問題)。只需使用數組屬性參數即可定義小部件。喜歡的東西:
$this->widgetSchema['state'] = new sfWidgetFormDoctrineChoice(array(blabla), array('onchange' => 'someJsFunction'));
如果你也想限制的選擇,那麼,在表單類(例如與當時美國已在全國選擇框選擇了美國各州只填充選擇),發送上下文的形式作爲一個選項:
在你的行動:
$this->form = new whateverForm(array(), array('context' => $this->getContext()));
做這樣的事情:
$context = $this->getOption('context');
if (!$context instanceOf sfContext) throw new sfException('whateverForm needs the context.. bla bla');
$taintedValues = $context->getRequest($this->getName());
$country = $taintedValues['country'];`
這將使您獲得當前submited國家顯示國家只爲該國家。
與縣一樣的東西。