3

景色

<?php echo $this->Form->create('Practice');
echo $this->Form->input('title',array('value'=>'test value'));
echo $this->Js->submit('Ajax Submit', array(
'update' => '#left',
 'url'=>'/practices/content',
 'async' => true,
 'method' => 'post',
 'dataExpression'=>true,
 'data'=> $this->Js->serializeForm(array(
     'isForm' => true,
     'inline' => true 

  ))
    ));
?> <?php echo $this->Form->end(); ?>

フォームは Ajax 送信前に正常に機能します。ajax 送信は、実際には同じモデルの新しいフォーム フィールドを返します。以下は、フォームが最初にajaxに送信されるビューです

echo $this->Form->input('Practice.options',array('value'=>'regex value'));

新しいフィールド値がフォームで送信されていません

4

2 に答える 2

2

最初に 2 つの間違いを犯していました。最初に新しい ajax から返されたフィールドがフォーム タグ内にありませんでした。次に、cakephp のセキュリティ チェックをバイパスする必要がありました。

function beforeFilter() {
        parent::beforeFilter();
        $this->Security->blackHoleCallback = 'blackhole';
        $this->Security->csrfCheck = false;
        $this->Security->validatePost = false;
        $this->set('contentLayout', 'admin_dashboard');
    }
于 2013-09-26T13:22:55.143 に答える
0

フォームの最後に置くことを確認してください

<?php echo $this->Form->end(); ?>

そして、SecurityComponent の現在のアクションのロックを解除します

于 2013-09-08T19:00:47.710 に答える