2012-04-22 86 views
0

我很新的這添加JavaScript得到函數A HREF

我有此鏈接:

<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; 
     } 
    }  
} 
+2

您需要在該錨標記內引號。 – Marc 2012-04-22 05:42:07

+1

這個HTML和JavaScript的風格過時了。無論您使用的教程/學習資源如何,我建議放棄posthaste。 – 2012-04-22 05:48:54

+0

我增加了更多的細節 - 看起來像是在工作,但功能不是100%的行爲。 – Andrew 2012-04-22 06:27:59

回答

0

OK,函數正確返回的一切,解析並沒有這樣做的權利。我修好了它。 JavaScript對我來說很難調試。