4

JSPとサーブレットを使用してWebアプリケーションを開発しています。

ハイパーリンクのクリックイベントでjavascript関数を呼び出そうとしています。これにより、クエリ文字列を使用していくつかのパラメータをサーブレットに渡します。

<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>

しかし、問題は、目的の結果を得るには、ハイパーリンクを2回クリックする必要があることです。クエリ文字列を送信する前に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 に答える