2012-02-28 21 views
0

我在PHP中的超級初學者,我使用所謂的Yii一個MVC的PHP框架。我似乎無法找到任何解釋如何使用PHP獲取html元素值的文章。我看到的每一處都是關於如何在POST之後的其他視圖中從表單字段獲取值。無論如何,要獲取字段值並將它們發送到PHP中的控制器並返回到原始視圖。訪問HTML元素的數據並傳送到控制器PHP

在.net MVC我只是使用jquery來獲取表單域並執行ajax調用。這不是敏感數據,所以我不擔心安全問題。我喜歡ajax,因爲我沒有做任何頁面發佈,我只是發送我的數據,並保持在同一頁面上。

有沒有辦法用PHP來做MVC AJAX類的事情?閱讀html元素值並將它們發送到控制器進行數據操作?

+0

你說你知道如何做.net mvc,所以它沒有太大的不同yii,告訴我你究竟在哪裏卡住 – 2012-02-28 06:23:25

回答

1

它的工作方式相同。 Yii的捆綁使用jQuery,所以你

只需使用jQuery來獲取表單域和做一個Ajax調用

一些控制器功能,做任何你想做的事情,並返回一個響應, php的echo

如果你已經知道一些jQuery,那麼客戶端應該與.net mvc差別很大。

編輯:
要將<script>添加到生成的html看registerScript

創建網址使用createUrl函數。

要添加AJAX選項的HTML標記代碼類似於:

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 options

雖然在控制器讀取這些值:

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

希望這是足以讓你上手。

+0

因此,就像以前一樣,我通過帶有Ajax的URL將數據發送到控制器,它是所有一樣?!聽起來真棒,怎麼來的,沒有人會談。我認爲谷歌搜索建議'$ _ POST [「FIELD_NAME」]'後看到很多文章,我想我不擅長使用Google。 – EKet 2012-02-28 17:38:20

+0

umm..whenever您將數據發送到服務器,您可以通過GET或POST發送變量,對不對?所以$ _POST有post變量,而$ _GET已經獲得變量,因此你不知道。只需使用jquery ajax方法即可。在yii中有一個CHTML類,它有一個建立在jquery的ajax之上的函數,所以你可以使用它。通常在警予指定的HTML標籤的時候,我們也可以通過AJAX的選項,這是採取CHTML類 – 2012-02-28 17:51:02

+0

OK涼爽的這個AJAX方法。我知道GET/POST,我的觀點是使用$ _POST ['field']方法與Ajax方法有很多關注點。我開始考慮可能ajax和PHP只是混合不好或什麼東西,因爲沒有關注它。感謝CHTML提示,不知道這一點。今晚我會給你一個鏡頭。 – EKet 2012-02-28 18:02:10