使用输入类获取已验证输入的父级

时间:2013-09-16 11:50:55

标签: javascript jquery css validation

我有以下代码来验证它是否为空。

$(".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. isNot +新数组(“”)代表值不能为空
  3. $(e).css会在输入时将输入背景颜色更改为红色 确实是空的,否则(有效)它只会是白色的
  4. 现在我的问题如下:如何将文本添加为​​错误?我尝试过.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文件:

    $( '#形式')。提交(函数(表){     var formValidate = new验证;

    $(".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");
           });
       });
    });
    

2 个答案:

答案 0 :(得分:1)

这会将testAppend中的文字附加到getElement的父元素的DOM元素中:

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

答案 1 :(得分:1)

我不确定我是否理解你想要做的事情,但试着这样做:

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