2012-02-28 14 views
0

私はPHPの超初心者です。私はYiiというMVCのPHPフレームワークを使用しています。 PHPでhtml要素の値を取得する方法を説明する記事は見つかりませんでした。どこでも私は、POSTの後でフォームフィールドから値を取得する方法については、他にもいくつか見ています。フィールド値を取得してPHPのコントローラに送信し、元のビューに戻ってくるだけですか?html要素のデータにアクセスし、PHPでコントローラに送信

ネットMVCで私は、フォームフィールドを取得し、AJAX呼び出しを行うためにjqueryのを使用します。それは機密データではないので、私はセキュリティについて心配していません。私はAjaxが好きです。なぜなら、私はページの投稿をやり直さないからです。私は自分のデータを送信し、私がいた同じページにとどまります。

はPHPとの事のMVC AJAXのようなものを行うための方法はありますか? html要素の値を読み込み、データ操作用のコントローラに送信しますか?

+0

あなたはそれを行う方法を知っていると言っています.net mvcだから、yiiではそれほど違いはありません。 –

答えて

1

同じように動作します。 Yiiはjqueryのにバンドルだけで、フォームフィールドを取得し、いくつかのコントローラ機能へのAJAX呼び出し

を行い、あなたがそれをやりたい、と応答を返すためにjqueryのを使用

あなたがそう来ますPHPのecho

すでにいくつかのjqueryのを知っている場合は、クライアント側では、.NET MVCと大差すべきではありません。

編集:
生成された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タグ・ジェネレータのヘルパー関数は、我々はまた、ajax optionsを渡すことができhtmlOptions配列を取ります。

コントローラでこれらの値を読んでいる間:

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

はあなたが始めるためにのために、これは十分にあると思います。

+0

AjaxでURLを介してコントローラにデータを送信する前と同じように、すべてです同じ?!すごくうまくいって、誰もそれについて話をしていないのですが...私はグーグルでは、$ _POST ['field_name'] 'を提案した後、多くの記事を見ました。 – EKet

+0

umm ..サーバーにデータを送信するたびに、GET変数またはPOST変数を送信します。 $ _POSTにはポスト変数があり、$ _GETには変数があります。 jquery ajaxメソッドを使用します。 yiiにはCHTMLクラスがあり、これはjqueryのajaxの上に構築された関数を持っているので、それを使うことができます。一般的にyiiでhtmlタグを指定する際には、ajaxオプションを渡すこともできます。このオプションは、chtmlクラスのこのajaxメソッドによって取得されます。 –

+0

ok cool。私はGET/POSTを知っています。私の主張は、$ _POST ['field']メソッドとAjaxメソッドを使用して焦点を絞っていた点です。私はおそらく、それに焦点がないので、おそらくajaxとphpがうまく混ざり合っていないと思った。 CHTMLのチップのおかげで、それについて知らなかった。私は今夜​​そのショットを与えるでしょう。 – EKet

関連する問題