バックエンドコントローラとJavaScript関数を実行する次のスプリングフォームがありますが、すべて動作しますが、フォームを送信する前にJavaScript関数を実行する必要があります。どうやってするか?フォームを送信する前にJavascript関数を実行
次のコードは、JavaScriptを実行する前にフォームを送信します。
<form:form modelAttribute="api" id="form">
<form:textarea path="text" class="form-control" rows="10" id="redacttext"/>
<button type="submit" class="btn btn-default">Submit</button>
</form:form>
のJavascript機能
function dosomething() {
//do something
}
jqueryの
ここ$('#form').submit(function() {
dosomething();
});
あのを試すことができます。それが提出される前に、おそらくそれを見る時間はないでしょう。あなたは正確に何を達成しようとしていますか? –
私はこの権利を理解しているかどうかはわかりませんが、ユーザーが送信ボタンをクリックしてから関数を呼び出し、必要に応じてフォームを送信すると、PreventDefault()を使うことができます。 –
はい、デフォルトを防ぎ、フォームを送信できます。しかし、これは非同期的に何かをやっている場合にのみ役に立ちます。 OPは 'doSomething()'が何であるかについて言及していない。しかし、同期している場合は、フォームが送信される前に実行されますが、おそらくそれが起こったことを認識するでしょう。 –