2012-12-24 53 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

请勿使用其他用户的复制粘贴 –