0

私はphpの初心者で、Yiiと呼ばれるMVCphpフレームワークを使用しています。PHPでhtml要素の値を取得する方法を説明している記事が見つからないようです。どこを見ても、他のビューでPOSTを実行した後、フォームフィールドから値を取得する方法がすべてです。とにかくフィールド値を取得してPHPのコントローラーに送信し、元のビューに戻る方法はありますか?

.Net MVCでは、jqueryを使用してフォームフィールドを取得し、ajax呼び出しを実行します。機密データではないので、セキュリティについては心配していません。私はajaxが好きです。なぜなら、ページのポストバックを行わないからです。データを送信するだけで、同じページに留まります。

PHPでMVCAJAXのようなことをする方法はありますか?HTML要素の値を読み取り、データ操作のためにコントローラーに送信しますか?

4

1 に答える 1

1

同じように機能します。Yiiはjqueryにバンドルされているので、

jqueryを使用してフォームフィールドを取得し、ajax呼び出しを行うだけです

いくつかのコントローラー関数に、それを使って好きなことをし、phpので応答を返しechoます。

すでにjqueryを知っている場合は、クライアント側は.netmvcとそれほど変わらないはずです。

編集:生成されたhtmlに
を追加するには、 registerScriptを参照してください。<script>

URLを作成するには、createUrl関数を使用します。

htmlタグにajaxオプションを追加するには、コードは次のようになります。

echo CHtml::checkBox('mybox',false,
  array(// array for htmloptions, we also pass ajax options in here
    'class'=>'checkBoxes_class',
    'ajax'=>array(// this is ajax options for jquery's ajax
      'type'=>'POST',
      'url'=>Yii::app->createUrl('xyz',array('clickedboxid'=>'mybox')), // here you passed clickedboxid as a get variable
      'beforeSend'=>'function(){}',
      'success'=>'',
      // etc etc
    )
  )
);

すべてのhtmlタグジェネレータヘルパー関数はhtmlOptions配列を取ります。ここで、ajaxオプションを渡すこともできます。

コントローラでこれらの値を読み取っている間:

public function actionSomeAction($id){
   // $id is mybox
   echo "Hello"; // this is returned as response to the client
}

これで十分に始められることを願っています。

于 2012-02-28T06:25:39.500 に答える