0

「名前」フィールドが入力されていないときにフォームが送信されないようにしようとしていますが、submitForm 関数が false を返してもフォームは送信され続けます。submitForm 関数は、ユーザーが名前の入力に失敗すると [名前] フィールドを黄色にします (ブラウザーをもう一度押すとわかります) が、アラートは表示されず、フォームは引き続き送信されます。何か案は?

function submitForm() {
var valid = true;
var rform = document.forms[0];

if (testLength(rform.name)==false) valid=false;


if ((rform.member[0].checked || rform.member[1].checked)== false) {
  rform.member[0].style.backgroundColor="yellow";
  rform.member[1].style.backgroundColor="yellow";
  valid=false;
}

if (valid == false) alert("Enter all required information in the appropriate format");

return valid;
}

そしてフォーム。

<form id="reg" method="GET" action="processorder.php">
<input id="btnSubmit" type="submit" value="Submit Form" onclick="return submitForm();"/></p>
4

1 に答える 1

2

代わりにフォーム要素の onsubmit イベントを試してください:

<form id="reg" method="GET" onsubmit="return submitForm();" action="processorder.php">
    <input id="btnSubmit" type="submit" value="Submit Form"/></p>
</form>
于 2013-03-30T18:58:58.613 に答える