0

コースを一覧表示するページがあります。学生がコース タイトルの 1 つをクリックすると、AJAX を使用して、コースの詳細を返す 2 番目のページにパラメーター (courseId) が渡されます。2 ページ目でパラメータ (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); 
    }); 

これは私の 2 番目のページです。パラメータ値を読み取る必要があります。

  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

私は変数を宣言します

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 に答える
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 に答える