2016-08-18 10 views
0

私が作成したフォームに問題があり、送信ボタンがクリックされるたびに私が呼び出すJavaScriptメソッドによってデータを他の場所にリダイレクトしようとしています。第二に、スクリプトファイルが読み込まれJoomla & JS;フォームからコントローラへのデータの送信

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

起こっている最初のものは、フォームを作成し、記入されていることで、その後、HTMLをクリックするユーザーは、その中にこのアクションでボタンを生成しました実行した。コードは以下のとおりである、成分com_guruにあるコントローラguruAuthorにおける方法(タスク)saveFeedback()を実行するために読み出される今URLで

<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(); 
} 

問題は、HTMLリクエストで送信したデータをどのように読み取るのですか? $user_id = JRequest::getVar("user_id");のようなものを試していますが、エコーやダンプしようとするたびに、それは私に返されますが空です。ではない私は

答えて

0

JRequestはJavaScript console.log(user_id);に投棄していた値はではなく

使用JInputを推奨されていません。読む - ご述べたコードでRetrieving request data using JInput

- コントローラ機能が呼び出されている場合、これは私はこのことができます願ってい

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

をコード - してみてください。

関連する問題