2016-08-18 31 views
0

我有我創建了一個表格的麻煩,並試圖通過重定向一個JavaScript方法,我稱之爲只要單擊提交按鈕其他數據某處。的Joomla & JS;從形式將數據發送到控制器

正在發生的第一件事情,就是形式創建並填寫,然後用戶會點擊HTML生成的按鈕,這個動作在裏面:

onclick="javascript:saveEssayScore(<?php echo $key . "," . $pid; ?>);" 

其次,腳本文件是隻讀並執行。該代碼是下面:

<script type="text/javascript" language="javascript"> 
document.body.className = document.body.className.replace("modal", ""); 

function saveEssayScore(key, pid){ 

    var user_id = document.getElementById("user-"+key).value; 
    console.log("user " + user_id); 
    var grade = document.getElementById("grade-"+key).value; 
    console.log("grade " + grade); 
    var teacher_answer = document.getElementById("feedback-"+key).value; 
    console.log("teacher_answer " + teacher_answer); 
    var question_id = document.getElementById("question-"+key).value; 
    console.log("question_id " + question_id); 
    var quiz_id = document.getElementById("quiz-"+key).value; 
    console.log("quiz_id " + quiz_id); 

    var req = new Request.HTML({ 
     method: 'post', 
     url: "<?php echo JURI::base();?>index.php?option=com_guru&controller=guruAuthor&task=saveFeedback&tmpl=component&format=raw", 
     data: { 'pid' : pid, 'user_id' : user_id, 'grade' : grade, 'teacher_answer' : teacher_answer, 'question_id' : question_id, 'quiz_id' : quiz_id}, 
     onSuccess: function(response, responseElements, responseHTML){ 
      alert('yeyy'); 
     } 
    }).send(); 
} 

現在,在URL,它被讀取,以運行在控制器guruAuthor這是在部件com_guru方法(任務)saveFeedback()

我遇到的問題是,我怎麼看,我只是通過HTML請求發送數據?我想這樣的東西$user_id = JRequest::getVar("user_id");但每當我試圖呼應或轉儲,它將返回給我,但空。這並不是說我在JavaScript console.log(user_id);

回答

0

JRequest我傾倒的值是棄用

使用JInput代替。閱讀 - Retrieving request data using JInput

在你提到的代碼 - 如果控制器函數被調用,試試這個代碼 -

$jinput = JFactory::getApplication()->input; 
$user_id = $jinput->get('user_id', '', 'INT'); 

我希望這有助於。

相關問題