Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查多个文本区域的输入?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何检查多个文本区域的输入?

Javascript 如何检查多个文本区域的输入?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我最近问了一个问题,当检查无空文本区域时,如何向文本区域添加彩色边框。我现在发现我的代码只检查1填充的textarea,然后它将验证表单 如何编辑以下代码以确保它检查每个文本区域,以便所有文本区域都需要输入。 function validate() { var success = true; var inputarea = $('#input-area textarea'); for(i = 0; i < inputarea.length; i++)

我最近问了一个问题,当检查无空文本区域时,如何向文本区域添加彩色边框。我现在发现我的代码只检查1填充的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;       
}
函数验证(){
var成功=真;
变量输入区域=$(“#输入区域文本区域”);
对于(i=0;i

其他一切都按照我希望的方式工作,我只需确保它检查所有文本区域的输入,而不仅仅是检查是否有1个文本区域作为输入。

请使用此示例代码进行检查。您需要使用类名称而不是Id。如果要检查多个值,则需要使用类

<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>

函数验证(){
var成功=真;
变量inputarea=$('.inputarea');
对于(i=0;i
这里是一个带有相应JSFIDLE的备用代码片段

在HTML中,我们有两个文本区域

Area 1
<textarea rows="4"></textarea>
<br/>
Area 2
<textarea rows="4"></textarea>
<br/>
<button>Validate</button>
有一个名为validate()的函数,仅当页面上的所有文本区域都有内容时才返回true,否则返回false。单击按钮时,将调用validate函数,结果将显示在警报框中。希望代码是自解释的,但如果不是,请对照其引用检查每个相应的jQuery方法。如果仍有谜团,请回复评论,我将尝试详细说明


-1用于简单地转储代码。解释为什么这会起作用这就是我试图编辑的@SterlingArcher。在你发布评论之前。我也解释过,大概fadeIn应该是fadeIn这个有问题的文本区域,而不是所有的?这个脚本假设你有多个具有相同ID的文本区域
输入区域
。这是对HTML的非法使用。使用一个类@SterlingArcher,否,它假定所有
textarea
元素都是具有
id=“input-area”
的元素的后代。但我们不能从这个问题上知道他们是否真的是。
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());
});