• ベストアンサー

cakePHP サブミット方法について

cakePHPについて、質問があります。 以下のように、サブミット時にPHPの関数を呼び出そうとしましたが、呼び出しを行えません。 echo $form->submit('登録', array('id'=>'XX','controller' => 'controller名', 'action' => 'action名' )); お手数ですが、解決方法を教えて頂けますでしょうか? 以上です。

質問者が選んだベストアンサー

  • ベストアンサー
  • foreach
  • ベストアンサー率51% (43/84)
回答No.2

> 今回、違うURLへPOSTしたいと考えております。 いや、だからURLが何であろうが<form>タグで囲まれてないとPOSTできないと言っております。これはHTMLの基本です。cakeとかPHPは関係ありません。 この意味が分からないならcake以前にHTMLから勉強することをオススメします。 そんなの分かってるという場合は、僕の解答をよく読み返して下さい。 > $form->create で<form>の開始タグを書き出してあげる必要があるでしょう。 と書いた通りです。$form->createで<form>タグが出力できます。submitでPOSTされるURLはformタグに指定されたaction要素なので、 > controllerやらactionやらを記載するとしたらecho $this->Form->createのほうです。 と書いたのです。 > (同じURLへのPOSTなら特に記載する必要もない) $form->createに与えるパラメータを省略したら省略したら同じURLへのPOSTになるという意味です。 $form->createのパラメータ指定方法は参考URLを参照してみて下さい。

参考URL:
http://qma.way-nifty.com/diary/2009/03/cakephp-form-cr.html

その他の回答 (1)

  • foreach
  • ベストアンサー率51% (43/84)
回答No.1

> echo $form->submit('登録', array('id'=>'XX','controller' => 'controller名', 'action' => 'action名' )); 普通に(Ajax等を使わずに)POST送信したいなら<form>タグで囲まれていなければなりません。HTMLの基本です。 $form->submit はsubmitボタンタグを書き出すだけです。 $form->create で<form>の開始タグを書き出してあげる必要があるでしょう。 controllerやらactionやらを記載するとしたらecho $this->Form->createのほうです。 (同じURLへのPOSTなら特に記載する必要もない)

hogemaro99
質問者

お礼

初歩的な質問で、申し訳ございませんでした。 解決することができました。

hogemaro99
質問者

補足

説明不足で、申し訳ございません。 今回、違うURLへPOSTしたいと考えております。

関連するQ&A