2010-09-29 76 views
0

我正在使用jQuery为.NET表单创建客户端验证函数。每个表单元素都有一个id,几个表单元素是必需的字段。在我的验证脚本中,我想创建一个'不需要'元素的id的数组,然后在每个'blur'事件中检查当前元素($(this))是否是元素数组不能检查,但它似乎没有检查列表。使用jquery获取输入的id并将其与id的静态数组进行比较?

function validate(){ 

    $('.form_wrapper input').blur(function(){ 
    var isEmpty = $(this).val(); 
    var isRequired = $(this).attr('id'); 
    var notRequired = ['txtHomePhone','txtWorkPhone','txtMobile','txtStreetAddress','txtSuburb']; 

    if (isEmpty == "" && isRequired == notRequired){ 
     // run conditional validation stuff 
     } 
     else { 
     // run other conditional validation stuff  
     } 

    }); 

} 

我想我需要帮助的地区是if语句检查当前表单元素是否为ID的未验证的阵列的一部分。我也不确定它是否真的是我想要/需要在这种情况下使用的阵列?

任何帮助将是巨大的,

感谢, 添

回答

1

不能完全确定在这里,但你不会想要做

$.inArray(isRequired,notRequired) >= 0 

,而不是

isRequired == notRequired 

编辑

$ .inArray()如果​​未找到匹配项,则返回-1。修改后的代码以正确显示此行为。

+0

另外,我是一个jQuery爱好者和所有人,但是因为您提到您正在创建一个.NET窗体,您可能需要查看.NET的本地验证器控件,并查看是否有任何符合您的要求以及。 – 2010-09-29 02:55:01

+1

InArray不返回索引,如果不匹配则返回-1?因此,该语句如下所示:if(isEmpty ==“”&& $ .inArray(isRequired,notRequired)!= - 1){} – WSkid 2010-09-29 05:52:46

+0

@WSkid〜cool!我错过了那一个。 :) 谢谢。 – 2010-09-29 21:48:20

相关问题