私は現在、JavaScriptの検証を行っていますので、少なくとも1つのチェックボックスを選択しなくてもフォームはうんざりしません。それは、少なくとも1人のユーザを選択するようにメッセージをユーザにスローする。検証が失敗した場合にページを再読み込みしないようにする
私が今やりたいことは、フォームに他のことをするのを止めることです。送信ボタンをクリックした後にページをリロードするように見えます。
次のように私の現在のコードは次のとおりです。
フォーム:
<form name="frm_multi_message_form" id="multi_message_form" style="margin-bottom: 0px;" method="post"><button style="border-style: none; margin: 5px 0 5px 0;" type="submit" action="" onClick="checkForm(this);" >Message multiple sitters</button>
</form>
マイJavascriptを:
function checkForm(form)
{
if (document.querySelector('form[id="multi_message_form"] input[name="username[]"]:checked')) {
document.frm_multi_message_form.action = "http://example.com/another-page/";
document.frm_multi_message_form.submit();
} else {
alert("You must select at least one sitter to message");
}
return false;
}
私は警告を投げ、問題を持っていない、とフォームが提出し、私はpreventDefaultを消す方法を知っておきたいと思います(もしかするとjavascriptクエリーで許可されていませんか?)もしできればエラーは表示されずに何も起こりません。
preventDefault()がフォームの送信を停止し、検証が完了したら、フォームを再提出する必要があります –