Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
Jquery 检查所有空文本输入的验证无效_Jquery_Html_Jsfiddle - Fatal编程技术网

Jquery 检查所有空文本输入的验证无效

Jquery 检查所有空文本输入的验证无效,jquery,html,jsfiddle,Jquery,Html,Jsfiddle,我这里有一个问题 正如你在小提琴中看到的,有两个问题,但问题1包含多个文本输入,而问题2只包含一个文本输入。现在我正在尝试验证任何空文本输入,但问题是,如果在问题1中的第一个文本输入中,我在单击提交按钮时填写了一个值,而其他文本输入为空,因为问题1中的其他文本输入为空,它应该显示一个lert,说明问题1中存在错误,说明存在空文本输入。它没有这样做,而是直接显示问题2的警报,说明该问题中有空白输入 所以我的问题似乎是,如果一个问题有多个输入,如果其中一个输入被填写,那么它似乎认为它是好的,并且在这

我这里有一个问题

正如你在小提琴中看到的,有两个问题,但问题1包含多个文本输入,而问题2只包含一个文本输入。现在我正在尝试验证任何空文本输入,但问题是,如果在问题1中的第一个文本输入中,我在单击提交按钮时填写了一个值,而其他文本输入为空,因为问题1中的其他文本输入为空,它应该显示一个lert,说明问题1中存在错误,说明存在空文本输入。它没有这样做,而是直接显示问题2的警报,说明该问题中有空白输入

所以我的问题似乎是,如果一个问题有多个输入,如果其中一个输入被填写,那么它似乎认为它是好的,并且在这个问题中没有空文本输入错误。这显然是不正确的,因为问题中的每一个输入都必须填写,没有一个文本输入可以留空

如何更新小提琴以解决此问题

Jquery validation()函数如下所示:

  function validation() {

    var alertValidation = "";
    var _qid = "";
    var _msg = "";

    $("[class*='q']").each(function(i) {  
    var questions = parseInt($("[class*=q" + i + "_qnum]").text());
    var txtinput = $("[class*=q" + i + "_mark]").val(); 
    _qid = questions;
    _msg = "You have errors on Question Number: " + _qid + "\n";


if (txtinput == '') {
    alertValidation += "\n\u2022 You have not entered in a value in all the Indivdiaul Marks textbox\n";
}    


            if (alertValidation != "") {
                return false; //Stop the each loop 
            }

        });


    if (alertValidation != "") {
        alert(_msg + alertValidation);
        return false;
    }

    return true;
}
以下是HTML代码:

<form id="Marks" action="" method="post">
<table border='1' id='markstbl'>
    <thead>
    <tr>
    <th class='questionth'>Question No.</th>
    <th class='answermarksth'>Marks per Answer</th>
    </tr>
    </thead>
    <tbody>

    <tr class="questiontd">
        <td class="questionnumtd q1_qnum" name="numQuestion" rowspan="2">1 <input type="hidden" name="q1_ans_org" class="q1_ans_org" value="5"><input type="hidden" name="q1_ans" class="q1_ans" value="5"></td>

<td class="answermarkstd">
<input class="individualMarks q1_mark"  q_group="1" name="answerMarks[]" type="text" onkeypress="return isNumberKey(event)" maxlength="3" />
</td>
</tr>

<tr class="questiontd">
<td class="answermarkstd">
<input class="individualMarks q1_mark"  q_group="1" name="answerMarks[]" type="text" onkeypress="return isNumberKey(event)" maxlength="3" />
</td>
</tr>

<tr class="questiontd">
        <td class="questionnumtd q2_qnum" name="numQuestion" rowspan="1">2 <input type="hidden" name="q2_ans_org" class="q2_ans_org" value="5"><input type="hidden" name="q2_ans" class="q2_ans" value="5"></td>
<td class="answermarkstd">
<input class="individualMarks q2_mark"  q_group="1" name="answerMarks[]" type="text" onkeypress="return isNumberKey(event)" maxlength="3" />
</td>
</tr>    </tbody>
</table>

<p><input id="submitBtn" name="submitMarks" type="submit" value="Submit Marks" /></p>

</form>
我更新你的小提琴


我回答了你的问题。看小提琴。我个人觉得你的代码结构不好。不管怎样,我解决了你提到的问题。
Question No.   Marks per Answer
1              (blank text input)
               (blank text input)
2              (blank text input)
$("input[data-type='qmark']").each(function(i) {  
var questions = $(this).attr("data-qnum");
var marks = parseInt($("[class*=q" + i + "_ans_text]").text(), 10); 
var txtinput = $(this).val(); 
_qid = questions;
_msg = "You have errors on Question Number: " + _qid + "\n";