从javascript中的两个函数中匹配表单中的两个字段

时间:2012-04-08 01:12:11

标签: javascript

我有两个我想要匹配的字段。 (已经完成了字段1和2的验证功能)

field01的客户编号为Txxxxx xxxxx(可以是T G或M)

field02的区号为416/905/647

我想将T与416匹配,G与905匹配,M与647匹配。 如果规则被破坏,则显示关系错误。

我做了一个单独的功能试图比较两者。

     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;

 }

我知道这是错的,我根本不知道如何比较两个独立函数中的两个字段。无论我做什么,都会弹出错误消息。即使我违反了字段1和2的规则,也会弹出错误消息,不应该出现错误消息。

如果有某个地方我可以阅读如何做到这一点将是非常好的,以备将来参考。

非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

您确实在比较416T。你需要某种查找表:

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;
}