[英]Joomla & JS; Sending data from form to Controller
我在創建表單時遇到了麻煩,並嘗試通過單擊提交按鈕時調用的JavaScript方法將數據重定向到其他地方。
發生的第一件事是創建並填寫了表單,然后用戶將單擊其中包含此操作的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中,將讀取它以在組件com_guru
中的控制器guruAuthor
運行方法(任務) saveFeedback()
。
我遇到的問題是,如何讀取剛剛通過HTML請求發送的數據? 我正在嘗試類似$user_id = JRequest::getVar("user_id");
但是,每當我嘗試回顯或轉儲時,它都會返回給我,但為空。 不是我在JavaScript console.log(user_id);
轉儲的值console.log(user_id);
JRequest已棄用
改用JInput。 讀取- 使用JInput檢索請求數據
在您提到的代碼中-如果正在調用控制器功能,請嘗試以下代碼-
$jinput = JFactory::getApplication()->input;
$user_id = $jinput->get('user_id', '', 'INT');
我希望這有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.