/ /送信時にエラーをスローすることで、フォームがPOSTできるようにする方法-javascript、jquery、html、ruby-on-rails、post

送信時にエラーをスローすると、POSTにフォームが許可されます - javascript、jquery、html、ruby-on-rails、post

POSTリクエストを使用して状態を各コントローラーアクションに渡すマルチステップフォームがあります。

新規>プレビュー>チェックアウト>作成

プレビューとチェックアウトはPOSTリクエストであり、データベースに影響を与えないため、フォームの再送信は問題ありません。

私は探しています:
1. Javascript検証を実行するためにデフォルトの送信を禁止する
2.検証後、フォームを送信し、ブラウザを前後に許可します

送信イベントをリッスンしているときに、e.preventDefault()を試してからe.submit()を試してみましたが、ブラウザのボタンを使用するときにフォームを再送信することはできません。

しかしながら、 エラーがスローされた場合、フォームが送信され、ブラウザの前後ボタンを使用できるようになります。

エラーをスローせずにこの機能を取得するにはどうすればよいですか?

$("#new_post").on("submit", function(e) {
throw new Error();
// this allows for form submission and back and forth button functionality
}

回答:

回答№1は1

ちょうど preventDefault() 方法

HTML

<form name="form" onsubmit="validate();">

スクリプト

function validate()
{
if (!validation) { // If the form is not correct
event.preventDefault();
} else {
// Submit the form
}
}