2014-10-27 58 views
0

我最近問了一個關於如何在檢查非空textareas時向textarea添加彩色邊框的問題。我現在發現我的代碼只檢查1個填充的textarea,然後驗證表單。如何檢查多個textareas輸入?

如何編輯以下代碼以確保它檢查每個textarea,以便它們都需要輸入。

function validate() { 

    var success = true; 

    var inputarea = $('#input-area textarea'); 

    for(i = 0; i < inputarea.length; i++) 
    { 
     if(inputarea.val() === "") 
     { 
      console.log("Missing textarea input"); 
      $('#input-area textarea').fadeIn().html('').css("border","1px solid red"); 

      success = false; 
     } 
    } 

    return success;  
} 

其他一切工作的我希望它的方式,我只是要確保它檢查所有文字區域進行輸入,而不僅僅是如果1 textarea的輸入。

+2

此腳本假定您有相同的ID'輸入area'多個文字區域。這是非法使用HTML。使用一堂課! – 2014-10-27 03:17:46

+1

@SterlingArcher,不,它假定所有'textarea'元素都是'id =「input-area」'元素的後代。但是我們無法從這個問題中得知它實際上是不是。 – 2014-10-27 07:16:40

回答

-1

請使用此示例code..You需要使用類的名稱,而不是Id.If的要檢查你需要使用類

<script> 
function validate() { 


    var success = true; 

    var inputarea = $('.input-area'); 

    for(i = 0; i < inputarea.length; i++) 
    { 
     if(inputarea[i].value.trim() === "") // TRIM() is IE9+ 
     { 
      console.log("Missing textarea input"); 
      $(inputarea[i]).fadeIn().html('').css("border","1px solid red"); 

      success = false; 
     } 
    } 

    return success;  
} 
</script> 
<form action="" method="post" onsubmit="return validate()"> 
    <textarea class="input-area"></textarea> 
     <textarea class="input-area"></textarea> 
    <input type="submit" value="submit"> 
</form> 
+1

-1簡單地傾銷代碼。解釋爲什麼這應該工作 – 2014-10-27 03:16:33

+0

這就是Iam試圖編輯@ SterlingArcher.Before只有你發佈了評論..我已經解釋了 – Choco 2014-10-27 03:18:14

+0

此外,大概是fadeIn應該褪色在犯規的textarea,不是所有的? – 2014-10-27 03:25:20

1

這裏多個值檢查是相應的jsfiddle交替代碼片段。

在HTML中我們有兩個文本區域。

Area 1 
<textarea rows="4"></textarea> 
<br/> 
Area 2 
<textarea rows="4"></textarea> 
<br/> 
<button>Validate</button> 

這裏是邏輯的肉:

function validate() { 
    var valid = true; 
    $("textarea").each(function(index, element) { 
     if (valid == true) { 
      valid = $(element).val().length > 0; 
     } 
    }); 
    return valid; 
} 

$("button").click(function() { 
    alert("Valid = " + validate()); 
}); 

有返回true只有在頁面上的所有文本域有內容和虛假否則函數調用的validate()。點擊該按鈕後,將啓用對驗證功能的調用,並將結果顯示在警告框中。希望代碼能夠自我解釋,但如果不是,請根據其引用檢查每個相應的jQuery方法。如果仍然存在謎團,請發表評論,我會盡力詳細說明。

jsFiddle example