0 レビュー
1 回答
javascript-基準が失敗した場合はフォームの送信をキャンセルします
フォームでチェックボックスがオンになっていない場合、送信ボタンを無効にしたい。しかし、私の機能は機能しておらず、常に送信ボタンで次のページを開くことができます。
function test(){
var b = false;
var inputs = document.getElementsByTagName('input');
for(var i = 0; i < inputs.length; i++) {
if (inputs[i].checked == true){
return true;
}
}
return false;
}
フォーム
form name='checkBoxForm' action ='book.php' method='post' onsubmit='return test(this)
チェックボックス-javatestは別の動作関数であることに注意してください。
input type='checkbox' id =\"$id\" name='check_list[]' value=\"$seat\" onclick='javatest(this)
わからない
0
レビュー
答え :
解決策:
これは、[送信]ボタンのデフォルトのアクションを停止していないために発生しています。デフォルトの送信動作を停止するには、検証関数の最初の行としてpreventDefault()javascript関数を使用する必要があります。以下は、テストの編集バージョンです。
function test(event){
event.preventDefault()
var b = false;
var inputs = document.getElementsByTagName('input');
....
また、フォームを送信するには(つまり、チェックボックスが1つ以上ある場合)、以下のようにform.submitイベントを使用する必要があります。
document.getElementByTagName("checkBoxForm").submit();
うまくいけば、これで問題が解決するはずです。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。