0

JavaScriptフォーム検証がtrueを返したときに、jspページのhtmlからJavaクラスにフォーム値を渡す方法を知りたいと思っています。

HTMLコード:

<form id="loginForm" onsubmit="return loginValidation()>
 <p class="error" id="liusrError"></p>
 <label for="usr">Username :</label>
 <br /> 
 <input type="text" name="liusr" id="liusr"> 
 <br />
 <p class="error" id="lipwdError"></p>
 <label for="pwd">Password :</label> <br /> 
 <input type="password" name="lipwd" id="lipwd">
 <br /> 
 <a id="fgtpwd" href="url">Forgot your password?</a> 
 <br /> 
 <input type="submit" value="Log In" id="logIn">
</form>

JavaScript:

function loginValidation(){
 var pwd = document.getElementById("lipwd").value;
 var usr = document.getElementById("liusr").value;
 var error = false;

 if(pwd == null || pwd == ""){
  document.getElementById("lipwdError").innerHTML = "Please enter a valid password";
  error = true;
 }else{
  document.getElementById("lipwdError").innerHTML = " ";
 }

 if(usr == null || usr==""){
  document.getElementById("liusrError").innerHTML = "Please enter a valid username";
  error = true;
 }else{
  document.getElementById("liusrError").innerHTML = " ";
 }

 return error;
}

編集:

<% if ( request.getParameter("liusr") != null ) { %>これを使用して、JavaScript関数loginValidationがtrueを返した場合にのみ、フォームに入力された値をJavaクラスに送信する方法を知りたいです。

4

2 に答える 2

0

フォームの送信動作を独自の関数に依存させる場合は、次を使用する必要があります。

onsubmit="return yourfunction()"

onsubmit = "yourfunction"を使用すると、関数が値を返すため、デフォルトの動作には影響しませんが、この場合、onsubmitはそれを処理しません:)

したがって、コードは次のようになります。

<form id="loginForm" onsubmit="return loginValidation()>
于 2012-09-26T18:07:47.243 に答える
0

<form>検証が完了したら、実際にその内容をURLにPOSTする必要があります。

<form id="loginForm" onsubmit="return loginValidation()" 
    method="POST" action="/login">

次に、JavaクラスをマップしてPOSTリクエストを処理する必要があります/login

于 2012-09-26T18:19:15.017 に答える