2013-01-14 25 views
0

可能重複:
How to send output with multiple values from extjs to Yii controller action如何ExtJS的數據發送到警予控制器動作

我在ExtJS的和Yii框架工作。我在extjs中設計了多項選擇題。 Yii控制器功能附有extjs存儲庫,以便從數據庫中提供這些問題。

現在我想將用戶選擇的答案optionId保存到數據庫中。即從extjs我想發送論文所有用戶解決問題questionId與用戶選擇optionId Yii控制器行動。我已經在提交按鈕事件上編寫代碼:

check:function() 
    { 
     console.log("Inside check function."); 
     //creating objects in javascript 
      var obj=new Object(); 
      for(var i=0;i<=5;i++) 
      { 
       var inputs = document.getElementsByName(i); 
       var radio = ""; 
       for (var j = 0; j < inputs.length; j++) { 
        if (inputs[j].checked) { 
         name = inputs[j].name; 
         value = inputs[j].value; 
         //obj[i].name1=name; 
         obj[i]={'questionId':name,'option':value}; 
         console.log("questionId="+name +" value="+ value); 
         console.log("object name="+ obj[i].questionNo+" Object value="+obj[i].option); 
        }// End of if statment 
       }// End of inner for loop 
      }//End of outer for loop 
    }// End of check function 
});//End of Controller 

那麼,爲了將所需數據發送到yii控制器操作需要做哪些修改。我真的需要幫助......

+0

你是要求的JavaScript或PHP或兩者? –

+0

我要求php先生... – user1722857

回答

1

你應該AJAX 發表您的數據的動作控制器,例如:網站/ savequestions

Ext.Ajax.request({ 
     url:"site/savequestions", 
     method: "POST", 
     params: {'qid': name, 'aid':value}, 
     success: function(){ 
      console.log("ok"); 
     }, 
     failure: function(response, opts){ 
      console.log("failed"); 
     }, 
     headers: { 'Content-Type': 'application/json' } 
    }); 

,然後在控制器SiteController你會

public function actionSavequestion() 
{ 
    $questionId = Yii::app()->request->getParam('qid'); 
    $anserId = Yii::app()->request->getParam('aid'); 
    //... do stuff here 

    echo json_encode(array('success' => true)); 
    exit() 
} 
相關問題