我们可以使用一个javascript函数进行多输入验证吗?

时间:2013-12-18 13:39:30

标签: javascript jquery

我们创建了一个JavaScript函数来验证用户名,它工作正常,但如果我尝试使用这个 函数在同一个jsp页面上的另一个输入验证,它只显示文本,我在同一个函数中包含文本颜色,但它在第二个输入验证中不起作用。 有可能得到吗? 如果有,我怎么能得到? 我是java脚本的初级,请给你答案,谢谢。

例如,这是我的js函数:

function name_validation()
      {
         if(true){
          var unam=document.getElementById("v2").innerHTML="valid";
          v2.style.color="green"; //this line is not exist in second input validation
                 }
         else{
            var unam=document.getElementById("v2").innerHTML="invalid";
            v2.style.color="red"; //this line is not exist in second input validation
              }
      }

这是我的jsp代码:

name:<input type="text" id="name" onchange="name_validation();"><a id="v2"></a>
Father name:<input type="text" id="name" onchange="name_validation();"><a id="v2"></a>

3 个答案:

答案 0 :(得分:2)

您可以像这样传递当前对象

name:<input type="text" id="name" onchange="name_validation(this);">
Father name:<input type="text" id="father_name" onchange="name_validation(this);">

然后去做(JQuery):

function name_validation(obj) {
var value = $(obj).val();
...
}

for javascript

function name_validation(obj) {
var value = obj.value;
...
}

答案 1 :(得分:2)

尝试这种方式希望它有所帮助:

Name:<input type="text" id="name" onchange="name_validation(this.id);">
Father name:<input type="text" id="father_name" onchange="name_validation(this.id);">

function name_validation(id){ 
  if(document.getElementById(id).value == ''){
    alert(id + 'is null');
  }

}

答案 2 :(得分:0)

尝试以下操作。

Name:<input type="text" id="name" class="validate">
Father name:<input type="text" id="father_name" class="validate">
$(function(){
   $('.validate').on('blur',function(){
      if($(this).val() == '')
      {
         $(this).css({'border-color':'red','background':'somecolor '});
      }
      else{
         $(this).css({'background':'somecolor'});
      }   

   });

});