2014-10-27 55 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