0

私は JavaScript を初めて使用し、HTML と JavaScript に基づいて大学の課題を行っています。この課題では、ある形式の教育クラスに登録できるように、いくつかのフォームを作成するように依頼されました。HTML を使用してフォームを作成し、JavaScript のみを使用してエントリを検証するように依頼されました。

私が理解するのに苦労しているのは、1 つの検証ブロックを使用して複数のフォーム入力を検証する方法です (可能であればfirstname) 。familynamevalidateForm

ここに私がテストしているセグメントがあります:

<head>
    <script>
        function validateForm() {
            var x = document.forms["nameform"]["firstname"].value;
            if (x == null || x == "") {
                alert("first name must be filled out");
                return false;
            }
        }
    </script>
</head>
<body>
    <form name="nameform" , action="demo_form.asp" , onsubmit="return validateForm()" , method="post">
<b>First name:</b> 
        <input type="text" name="firstname">
        <br>
<b>Family name:</b> 
        <input type="text" name="familyname">
        <br>
        <input type="submit" value="Submit">
    </form>
</body>

どんな助けでも大歓迎です!

4

5 に答える 5

0
<head>
<script>
function validateForm()
{
  var firstname=document.getElementById('txtfirstname');
  var familyname=document.getElementById('txtfamilyname');

   if (firstname.value=="")
       {
         alert("first name must be filled out");
         return false;
        }
  if (familyname.value=="")
     {
         alert("familyname must be filled out");
         return false;
     }

 }
</script>
</head>

<body>
<form name="nameform", action="demo_form.asp", onsubmit="return validateForm()", method="post">
<b>First name:</b> <input type="text" id="txtfirstname" name="firstname">
<br>
<b>Family name:</b> <input type="text" id="txtfamilyname" name="familyname">
<br>
<input type="submit" value="Submit">
</form>

</body>
于 2013-04-04T12:38:57.797 に答える
0

いくつかの可能性...

<script>
function validateForm()
{
    var x=document.forms["nameform"]["firstname"].value;
    if (x==null || x=="")
    {
        alert("first name must be filled out");
        return false;
    }
    x=document.forms["nameform"]["lasttname"].value;
    if (x==null || x=="")
    {
        alert("last name must be filled out");
        return false;
    }
return true;
}
</script>

検証に失敗すると各フィールドにアラートを表示し、すべてのフィールドが OK の場合は true を返します。

<script>
function validateForm()
{
    var errorString="";
    var x=document.forms["nameform"]["firstname"].value;
    if (x==null || x=="")
    {
        errorString+="first name must be filled out\n";
    }
    x=document.forms["nameform"]["lasttname"].value;
    if (x==null || x=="")
    {
        errorString+="last name must be filled out\n";
    }
    if(errorString=="")
    {
        return true;
    }
    else
    {
        alert(errorString);
        return false;
    }
}
</script>

検証に失敗したすべてのフィールドをリストする単一のアラートを返します。

さらに、検証に失敗した最初のフィールドで focus() メソッドを使用して、修正が必要なフィールドにカーソルを配置することを常に好みます。

于 2013-04-04T12:46:11.353 に答える
0

これを試して..

function validateForm() 
{
    var msg='';
    var flag=false;
        var x = document.forms["nameform"]["firstname"].value;
        if (x == null || x == "") 
        {
            flag = true;
            msg = ' First Name '
        }
        x = document.forms["nameform"]["familyname"].value;
        if (x == null || x == "") 
        {
            if(flag==true)
                msg = msg + 'And Family Name '
            else
                msg = msg +  ' Family Name ';
            flag = true;
        }
        if (flag==true) {
            msg = msg + " must be filled out";
        alert(msg);
        }
        return false;
}
于 2013-04-04T12:46:48.133 に答える