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. isNot + new Array("") 代表值不能为空
  3. $(e).css 如果输入确实为空,则将输入背景颜色更改为红色,否则(有效)它将只是白色

现在我的问题如下:如何将文本添加为​​错误?我试过 .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");
       });
   });
});
4

2 回答 2

1

这会将文本附加testAppend到作为 DOM 元素的父元素中getElement

$(getElement).parent().append(testAppend);
于 2013-09-16T11:55:33.750 回答
1

我不确定我是否完全理解你想要做什么,但试试这个:

$(this).parent().append("Tester 123");
于 2013-09-16T11:56:02.393 回答