0

一致させたいフィールドが 2 つあります。(フィールド 1 と 2 の検証機能は既に実行されています)

field01 にはクライアント番号 Txxxxx xxxxx (TG または M) があります。

field02 の市外局番は 416 / 905 / 647 です

T を 416 に、G を 905 に、M を 647 に一致させたいと思います。ルールに違反している場合は関係エラーを表示します。

2つを比較しようとして、別の関数を作成しました。

     function validatecompare(errMessages)
   {

       var clientID = document.pizza.field02;
       var telenum = document.pizza.field03;

       var client = clientID.value;
       var phone  = telenum.value;
       var firstL = "";
       var areaC  = "";


firstL=client.substr(0,1);
areaC =phone.substr(0,3);


     if ((firstL) !=areaC)
       {
          errMessages += "<li>Client Number and Telephone No. are not consistent with our set up rules.</li>\n";
       }


     return errMessages;

 }

私はそれが間違っていることを知っています.2つの別々の関数から2つのフィールドを比較する方法がわかりません. 何をしてもエラーメッセージが表示されます。フィールド 1 と 2 のルールに違反したとしても、エラー メッセージが表示されるべきではないときに表示されます。

これを行う方法について読むことができる場所があれば、今後の参考に最適です。

どんな助けでも大歓迎です、ありがとう。

4

1 に答える 1

2

あなたは文字通りとを比較416していTます。ある種のルックアップテーブルが必要です。

function validatecompare(errMessages) {
    var clientID = document.pizza.field02;
    var telenum  = document.pizza.field03;

    var client = clientID.value;
    var phone  = telenum.value;
    var firstL = client.charAt(0);
    var areaC  = phone.substr(0, 3);

    var areaCodes = {
        '416': 'T',
        '905': 'G',
        '647': 'M'
    };

    if(firstL !== areaCodes[areaC]) {
        errMessages += "<li>Client Number and Telephone No. are not consistent with our set up rules.</li>\n";
    }

    return errMessages;
}
于 2012-04-08T01:21:34.980 に答える