0

我有一个列出课程的页面。当学生点击其中一个课程标题时,它将使用 AJAX 将参数 (courseId) 传递到第二个页面,该页面将返回课程详细信息。第二页如何访问参数(courseId)?如果我直接在源中输入一个值而不是访问参数,它会显示详细信息:

var idInput = 12345;
var regNoInput = 098766;

当我尝试getElementById访问该参数时,它没有显示任何详细信息:

var idInput = document.getElementById("courseId").value;
var regNoInput = document.getElementById("regNo").value;

我也尝试将参数作为 PHP 变量访问,但仍然没有详细信息:

var idInput = "${courseId}";
var regNoInput = "${regNo}";

这是我的第一页脚本,参数是使用 url 传递的:

  success: function(json_results){
    $('#list').append('<ul data-role="listview" data-inset="true"</ul>');
    listItems = $('#list').find('ul');
    $.each(json_results.rows, function(key) {
     html = "<li data-mini='true' id='icon'><a href='MRegisteredClassesDetail.html?
            courseId=" + [json_results.rows[key].courseId] + "&regNo=" +
            [json_results.rows[key].regNo] +"' rel='external'>" + 
            json_results.rows[key].courseName+ "</a>" + "<a 
            href='http://137.57.102.146:8080/Training/MRateCourse.phone?courseId="+ 
            [json_results.rows[key].courseId] + "&regNo=" +   
            [json_results.rows[key].regNo] + "' rel='external'>RATE THIS COURSE</a>
            </li>" ; 
     listItems.append(html); 
    }); 

这是我的第二页,它应该读取参数值:

  var idInput = "${courseId}";
  var regNoInput = "${regNo}";

   success: function(json_results){
     $('#list').append('<ul data-role="listview" data-inset="true"</ul>');
     listItems = $('#list').find('ul');
     $.each(json_results.rows, function(courseId) {
     html  ='<h1 align=center>'+json_results.rows[courseId].courseName+'</h1>';
     html +='<li>Registration Number:'+json_results.rows[courseId].regNo+'</li>';
     html +='<li>Registration Date:'+json_results.rows[courseId].regDate+'</li>';
         listItems.append(html);
     });
4

2 回答 2

0

如果url中的参数,试试这个:

var params=window.location.search.substr(1).split("&"),
    idInput=params[0].split("=")[1],
    regNoInput=params[1].split("=")[1];
于 2012-07-19T02:33:24.213 回答
0

我声明一个变量

var idInput = getParameterByName('courseId');

并定义函数

function getParameterByName(name) {
        var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
        return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
    }

它运作良好。

于 2012-07-24T03:23:17.350 回答