2017-07-15 39 views
0

私が持っているHTML:htmlでjs関数を呼び出してサーブレットを実行する方法は?

<body> 
 
<div class="cover"> 
 
    <form name="registform" action="doRegist" method="post" > 
 
     <input type="submit" value="regist" onclick="formValidation()"> 
 
    </form> 
 
</div> 
 

 
<script src="resources/js/validation.js"></script> 
 
</body>

は私はJSが機能 "formValidationは" 最初に実行されるようにして、 "doRegistを" サーブレットが、私のプログラムの開発は、jsの機能を無視します。あなたは、フォームで定義されたアクションを持っているので

function formValidation() { 
 
\t var login = document.registform.userName; 
 
\t if(validateLogin(login)) { 
 
\t 
 
\t } 
 
\t return false; 
 
} 
 
function validateLogin(login) { 
 
\t var loginformat = /^[a-z]+([_]?[a-z0-9]+)$/i; 
 
\t var loginlen = login.value.length; 
 
\t if(loginlen < 5) { 
 
\t \t alert("You have entered an invalid login!"); 
 
\t \t document.registform.userid.focus(); 
 
\t \t return false; 
 
\t } 
 
\t if(login.value.match(loginformat)) { 
 
\t \t document.registform.userid.focus(); 
 
\t \t return true; 
 
\t } else { 
 
\t \t alert("You have entered an invalid login!"); 
 
\t \t document.registform.userid.focus(); 
 
\t \t return false; 
 
\t } 
 
}

+0

あなたのformValidationは何ですか? –

+0

ファイルをサーバー上ではなく別々に実行すると、js関数が機能します – Kadoline

答えて

0

、ブラウザがフォームを送信します:、

更新 JS助けてください。キャンセルする必要がある場合は、formValidationにイベントを渡すとpreventDefault()に電話する必要があります。これを行うには、onclick="formValidation(event)"のような関数を呼び出して、関数内でこれを行います: function formValidation(event) { event.preventDefault() ... } この方法でイベントを取り消すことができ、フォームは送信されません。 後で(検証が合格する場合)提出する場合は、document.registform.submit()のような手で手動で行う必要があります。

N.B.テキスト入力の1つで押されたリターンキーのように、フォームを別々に提出することができる一方、ボタンクリック時にのみ検証プロセスを開始することに注意してください。代わりにonsubmitメソッドを使用することをお勧めします。

関連する問題