0

次のような単純な JSP があります。

<form name="myform" id="myform" 
      action="${pageContext.request.contextPath}/validateLoginID.do" method="POST">
    <input type="text" name = "loginID" id="loginID" value="${loginID}"/>
</form> 

<script> 

window.alert("Submitting form!");
document.myform.submit();
</script>

上記の JSP コードは機能します。しかし、代わりに変数からアクションを初期化しようとすると、次のようなものを使用します。

action="${myLink}" method="POST">

無限ループに入り、「Submitting form!」と出力します。毎回。なぜこうなった?

4

3 に答える 3

0

おそらく、フォームを送信するアクションが上記のページを返すため、フォームを送信し、ページを表示し、フォームを送信するなどです。

于 2013-03-15T21:02:23.837 に答える
0

上記のコードの下には、Struts 検証フレームワークが暗示されていると思います。同じページの入力を返す限り、javascript がエラーのあるページを再度送信し、それが繰り返されます。関数を削除document.myform.submit();または作成する

<script type="text/javascript"> 
function doSubmit(){
  window.alert("Submitting form!");
  document.myform.submit();
}
</script>

ロード時に送信を停止します。

于 2013-03-15T22:17:16.957 に答える
0

"myLink"は、実際に使用していた変数「name」のダミー名でした。私は模倣${pageContext.request.contextPath}してそのような名前を付けようとしましたが、残念ながら、変数名のドットが問題を引き起こしていました。ドットを削除すると、機能します。

于 2013-03-15T21:20:05.210 に答える