0
私は単純なHtml.BeginFormをいくつかのデータで使用しています。フォームが送信される前に、ユーザーが "submit"ボタンをクリックしたときにonsubmit()JavaScript関数を使用して、そして、この条件が偽である場合、私はページをリロードするのをやめたいだけで、私のフォームをPOSTメソッドに送らないでください。これが正常に動作している、ビット私は、問題に会った私はonSubmit検証で作成DOM要素()メソッド消える理由:私はfalseを返すようにしたい、とフォームを送信しないのでフォームonsubmitがDOM要素を呼び出すときにエラーが発生しました
@using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @class = "form-horizontal", role = "form", **onsubmit=" return registerValidation()"**}))
{
@Html.AntiForgeryToken()
@Html.TextBoxFor(m => m.Email, new { @class = "form-control", @id = "emailVal"})
@Html.ValidationMessageFor(m => m.Email,"", new { @class = "validation-error-white", @id="emailValidation"})
<input type="submit" class="btn btn-warning btn-block add-item-button-text" value="Zarejestruj" />
}
<script type="text/javascript">
function registerValidation() {
var validForm = validateRegisterForm(email, login);
if (!validForm) {
$('#emailValidation').append('Those email already exists! Take another one');
return false;
}
return true;
}
</script>
は、テキストそのI何が間違っているのかを示すvalidation-divに追加してください。これは、私が達成したいものではありません。時間が非常に短いため、ユーザーはそれに気付くことさえできません!
おかげで多くのことをする必要はありません! とにかく、ここでは入力タイプをボタンにする必要があります。 click()の代わりにonclick()を使用してボタン定義で呼び出すことができます。
' type = "button" 'はフォームを送信しません。 '$("#btnSubmit ")。クリックは、基本的に' onclick = "someFun()" 'と同じイベントをアタッチするjQueryの方法ですが、jQueryを使用する場合は優先メソッドです。 – Win