0

私はこれに非常に慣れていません

私はこのリンクを持っています:

<a onclick = sendRequest('GET','room_chart.jsp') href=#>Show Chart</a>

しかし、そのリンク内で動的アドレスを生成する必要があります。

私はJavaScriptを作成しました:

    <script language="javascript">
        var selectedOption;
        var ROOM;
        var BUILDING;

        function GetLink(){
            selectedOption = document.getElementById("roomandbuildingid").options[e.selectedIndex].text;  //getting selected option
            ROOM = selectedOption.split("|")[0].trim().split(":")[1].trim(); //parsing text
            BUILDING = selectedOption.split("|")[1].trim().split(":")[1].trim(); //parsing text
            return "'room_chart.jsp?room="+ROOM+"&building="+ BUILDING+"'"; //returning url
        }
    </script>

しかし、関数を貼り付けると、機能しません!

<a onclick = sendRequest('GET',GetLink()) href=#>Show Chart</a>

さて、デバッグ後、実際には適切な srting を作成することがわかりましたが、どういうわけか私の関数はそれを URL として受け入れようとはしていません! それはかなりパラドックスです-正しい文字列を作成します-コードにハードコードすると機能します! しかし、変数からの動的リンクは機能しません!

助けてください!

以下を参照してください:私のjsファイル:

function createRequestObject(){
    var req;
    if(window.XMLHttpRequest){
        //For Firefox, Safari, Opera
        req = new XMLHttpRequest();
    }
    else if(window.ActiveXObject){
        //For IE 5+
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else{
        //Error for an old browser
        alert('Your browser is not IE 5 or higher, or Firefox or Safari or Opera');
    }
    return req;
}

//Make the XMLHttpRequest Object
var http = createRequestObject();

function sendRequest(method, url){
    if(method == "get" || method == "GET"){
        http.open(method,url);
        http.onreadystatechange = handleResponse;
        http.send(null);
       // alert( document.URL );
       // document.write (GetLink());
    }
}
function handleResponse(){
    if(http.readyState == 4 && http.status == 200){
        var response = http.responseText;
        if(response){  
            document.getElementById("ajax_res").innerHTML = response;
        }
    }      
}
4

1 に答える 1

0

OK、関数はすべてを正しく返しましたが、解析は正しく行われませんでした。それを私が直した。JavaScript をデバッグするのは難しいです。

于 2012-04-23T18:56:56.590 に答える