2013-09-16 31 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);