2012-12-24 52 views
3

我正在開發一個使用JSP和Servlet的Web應用程序。超鏈接的點擊事件調用javascript函數

我想在超鏈接的點擊事件上調用javascript函數,並且我也將一些參數傳遞給使用查詢字符串的servlet。

<td> <a href="#?id=<%=data[i][0]%>&protID=<%=data[i][1]%>&seqNo=<%=data[i][2]%>" onclick="getValues();" >Edit</a></td> 

javascript函數:

<script> 
function getValues() 
{ 
    var url = document.URL; 
    var planID = url.split("="); 
    var pID = planID[1].split("&"); 

    var remURI = url.split("&"); 
    var protID = remURI[1].split("="); 

    var s = remURI[2].split("="); 

    document.getElementById('txtPlanID').value=pID[0]; 
    document.getElementById('txtProtID').value=protID[1]; 
    document.getElementById('txtSeqNo').value=s[1]; 

//show("block"); 
return false; 
} 
</script> 

但問題是,我必須在超鏈接點擊兩次以獲得期望的結果。 我認爲onClick事件在發送查詢字符串之前正在執行。 請讓我知道如果源代碼中有任何錯誤。

在此先感謝.....

回答

4
<td> <a href="#" onclick="getValues('<%=data[i][0]%>','<%=data[i][1]%>','<%=data[i][2]%>');" >Edit</a></td> 


function getValues(pID,protID,eq) 
{ 

document.getElementById('txtPlanID').value=pID; 
document.getElementById('txtProtID').value=protID; 
document.getElementById('txtSeqNo').value=eq; 

//show("block"); 
return false; 

}

簡單地傳遞價值,同時調用JavaScript的獲得使用它

+0

感謝響應。有用。 – Bhushan

+0

不客氣:) –

0

提供的功能被點擊鏈接作爲參數:

onclick="getValues(this);return false;" 

然後使用鏈接的href屬性的網址:

function getValues(link) 
{ 
    var url = link.href; 
    //more code 
} 
1

試試這個:

<a href="javascript:return getValues('<%=data[i][0]%>','<%=data[i][1]%>','<%=data[i][2]%>');">Edit</a> 

JS

function getValues(value1, value2, value3) 
{ 
    document.getElementById('txtPlanID').value = value1; 
    document.getElementById('txtProtID').value= value2; 
    document.getElementById('txtSeqNo').value= value3; 

    return false; 
} 
+0

感謝您的回覆。有用。 – Bhushan

+0

請勿使用其他用戶的複製粘貼 –