0

私はjavascript検証とifステートメントを書いて以下を表現しようとしています:

フィールド1は、単独で入力および送信できます。

フィールド2を入力できますが、その場合は、フィールド3も入力する必要があります。その後、フィールド1、2、および3を送信するか、フィールド1なしでフィールド2および3のみを送信できます。

最後の文に従って入力する場合、フィールド3にはフィールド2も含める必要があります。

1つの検証のために3つすべてを選択するVARはどれですか?

これは私がこれまでに書いたものです:

function DoCustomValidation()
{
var first = document.forms["readings"] ["GlucoseLevel"].value;
var second = document.forms["readings"] ["SBP"].value;
var third = document.forms["readings"] ["DBP"].value;

if (

検証を作成して.PHPファイルなどに配置する方法と場所を知っています。Javaを使用している間、if elseステートメントを作成するのに苦労していて、連絡が途絶えました。

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

4

2 に答える 2

1

これは私がそれを作ることができるのとほぼ同じくらい取り除かれています。

function DoCustomValidation()
{
    var first = document.forms["readings"] ["GlucoseLevel"].value;
    var second = document.forms["readings"] ["SBP"].value;
    var third = document.forms["readings"] ["DBP"].value;

    if(!second==!third){
        if(!first===false){
            return true;
        }
        else if (!second===false){
            return true;
        }
    }
    return false;
}

編集:メッセージの追加フォームの送信に失敗したときにメッセージが必要な場合は、これを試してください

function DoCustomValidation()
{
    var first = document.forms["readings"] ["GlucoseLevel"].value;
    var second = document.forms["readings"] ["SBP"].value;
    var third = document.forms["readings"] ["DBP"].value;

    if(!second==!third){
        if(!first===false){
            return true;
        }
        else if (!second===false){
            return true;
        }
        else{
            alert("You cannot submit a blank form.");
        }
    }
    else{
        alert("The SBP and DBP must both be blank or both be filled.");
    }
    return false;
}

書かれているように、検証メッセージにアラート(およびその特定のテキスト)を使用することはお勧めしませんが、それは私がより多くの情報なしでできる最善のことです。

于 2012-05-07T21:24:43.273 に答える
0

2番目と3番目が、最初に値がなくても両方に値がある場合に送信する場合は、これでうまくいくと思います。最初に値があり、他の2つが空の場合は、もう1つ選択するだけです。

function DoCustomValidation()
{
    ...
    if(second !="" && third != ""){
        //form submit
        return;
    }
    if(first != "" && second == "" && third == ""){
        //form submit
        return;
    }
}
于 2012-05-07T20:52:18.723 に答える