5

すべての入力フィールドを反復処理し、空/null フィールドをチェックするように、HTML フォームを JavaScript で検証しようとしています。

w3s (以下のコード) で null を検証する方法を見つけましたが、関数を変更して、id1 つのフィールドのみをターゲットにするのではなく、フォーム全体に割り当てた特定のフィールドを使用してフォームのすべてのフィールドをチェックするようにします。

function validateForm() {
   var x = document.forms["myForm"]["fname"].value;
   if ( x == null || x == "" ) {
      alert("First name must be filled out");
      return false;
   }
}
</script>
</head>

<body>
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">
    First name: <input type="text" name="fname">
    <input type="submit" value="Submit">
4

7 に答える 7

0

最も簡単な方法は次のとおりです。

<script>
        function validateForm(formId)
        {
            var inputs, index;
            var form=document.getElementById(formId);
            inputs = form.getElementsByTagName('input');
            for (index = 0; index < inputs.length; ++index) {
                // deal with inputs[index] element.
                if (inputs[index].value==null || inputs[index].value=="")
                {
                    alert("Field is empty");
                    return false;
                }
            }
        }
</script>

form< > タグを以下に置き換えます。

<form name="myForm" id="myForm" action="1.php" onsubmit="return validateForm('myForm');" method="post">
于 2013-10-14T06:06:14.070 に答える
0

textarea などの一部のフォーム要素では、required 属性が Firefox で他のすべてのブラウザーとは異なる動作をするという事実を管理することが重要です。Firefox では、入力が NULL であるか空であるかに関係なく、必要な属性がフォームの送信をブロックします。ただし、Chrome または Edge では、フォームは NULL フィールドではなく空のフィールドで送信されます。

于 2017-07-22T16:40:29.427 に答える