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;
}
}
}
您需要在該錨標記內引號。 – Marc 2012-04-22 05:42:07
這個HTML和JavaScript的風格過時了。無論您使用的教程/學習資源如何,我建議放棄posthaste。 – 2012-04-22 05:48:54
我增加了更多的細節 - 看起來像是在工作,但功能不是100%的行爲。 – Andrew 2012-04-22 06:27:59