2013-09-16 26 views
0

我有以下一段代码来验证它是否为空。使用输入类获取已验证输入的父代

$(".req").each(function(){ 
      $(this).validate(formValidate, { 
       isNot: new Array("") 

      }); 
      $(this).validateError(function(form, e){ 
       form.preventDefault(); 

       $(e).css("background-color", "red"); 

      }); 

      $(this).valid(function(form, e){ 

       $(e).css("background-color", "white"); 
      }); 
     }); 

注:

  1. .req是我送给验证它是否是必填字段
  2. 状态并没有+新阵列(“”)类代表该值可以(e)如果输入 确实是空的,则输入背景颜色将变为红色,否则(有效)它将仅为白色

现在我的问题如下:如何添加文本为错误?我尝试过.append()或.appendTo(),但这只会填充输入元素中的值而不是屏幕上的某处。

我已经试过这样的事情:

var getElement = document.getElementsByClassName(this); //This is still the .req 
    $(getElement).parent().append(); 
    var testAppend = "Tester 123"; 
    $(testAppend).appendTo($(getElement).parent()); 

,但我没有得到它的工作..

提前感谢!

编辑 对不起,我不清晰,我会解释它好一点:

我有一些事情是这样的:

 <p>Firstname</p> 
     <p><input type="text" class="req name" /></p> 

现在我所要做的就是上述追加或低于$(this).validateError函数的输入,我使用的类,所以我应该得到的元素(这就是为什么我用.getElementsByClassName)

JavaScript文件:

$('#form')。submit(function(form){ var formValidate = new Validate;

$(".req").each(function(){ 
    $(this).validate(formValidate, { 
     isNot: new Array("") 

    }); 
    $(this).validateError(function(form, e){ 
     form.preventDefault(); 

     $(e).css("background-color", "red"); 
     var getElement = document.getElementsByClassName(this); 
     $(getElement).parent().append(); 
     var testAppend = "Tester 123"; 
     $(getElement).parent().append(testAppend); 


     }); 

     $(this).valid(function(form, e){ 

      $(e).css("background-color", "white"); 
     }); 
    }); 
}); 

回答

1

我不知道如果我在所有你想干什么理解,但试试这个:

$(this).parent().append("Tester 123"); 
+0

得到它现在的工作,只需用我的“e”替换“this”。谢谢。 – Orion

1

这将在testAppend追加文字即是getElement父的DOM元素:

$(getElement).parent().append(testAppend);