0

3つのフィールドを検証したい

  1. 名のテキスト ボックス
  2. 姓のテキスト ボックス
  3. ミドルネームテキストボックス

ここに私のコードがあります:

function validateForm()
{
    var x=document.forms["myForm"]["fname"].value;
    var y=document.forms["myForm"]["lname"].value;
    var z=document.forms["myForm"]["mname"].value;
    if(((x!='') && (y=='' && z==''))
          || ((y!='') && (x=='' && z==''))
          || ((z!='') && (x=='' && y=='')))
    {
        alert("First name must be filled out");
        return false;
    }
    alert("fill input filed");
    return false;
}
</script>

私のコードは次のように実行されています。どのフィールドにも何も入力しない場合 - アラート、この部分は問題ありません。次に、フィールドの1つを入力すると、2つのテキストボックスに入力するとif部分が同じように警告されますが、if部分を実行する必要がありますが、発生していません。

その条件を変更して、2 つのフィールドに入力すると、少なくとも 1 つのフィールドに入力できるという警告が表示されるようにしてもらえますか?

4

2 に答える 2

0

これがあなたが探しているものだと思います...

Javascript コード

<script type="text/javascript">
function validateForm()
{
var x=document.getElementById("fname").value;
var y=document.getElementById("mname").value;
var z=document.getElementById("lname").value;

if((x==''))
{
    alert("First name must be filled out");
    return false;
}
else if((y==''))
{
    alert("Middle name is empty");
    return false;
}
else if((z==''))
{
    alert("Last name is empty");
    return false;
}
return true;
}
</script>

HTML コード

<form action="#">
    <input type ="text" id ="fname"></input>
    <input type ="text" id ="mname"></input>
    <input type ="text" id ="lname"></input>
    <input type="submit" onclick="return validateForm();">
</form>
于 2013-03-20T07:33:02.620 に答える
0

簡単にしてください。名前は必須なので、最優先にします

if(x==''){
    alert("First name must be filled out");return false;
    if(y=='' && z==''){
    //alert();// other condtions
    }
}else{
    alert("fill input filed");return false;
}
于 2013-03-20T07:21:45.113 に答える