4

我正在使用 JSP 和 Servlet 开发一个 Web 应用程序。

我试图在超链接的单击事件上调用 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

3 回答 3

5
<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 时传递值即可使用它

于 2012-12-24T10:57:41.680 回答
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;
}
于 2012-12-24T11:09:16.957 回答
0

提供单击的链接作为函数的参数:

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

然后使用链接的 href 属性作为 url:

function getValues(link)
{
    var url = link.href;
    //more code
}
于 2012-12-24T10:56:17.863 回答