作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我这里有一个 jsfiddle http://jsfiddle.net/cbyJD/76
正如您在 fiddle 中看到的那样,有 2 个问题,但问题 1 包含多个文本输入,而问题 2 仅包含一个文本输入。现在我正在尝试验证任何空文本输入,但问题是如果在问题 1 的第一个文本输入中我填写一个值并将其他值留空,当我单击提交按钮时,其他文本输入问题 1 为空,它应该显示一条警告,说明问题 1 中存在错误,说明文本输入为空。好吧,它并没有这样做,而是直接显示问题 2 的警报,指出该问题中有一个空白输入。
所以我的问题似乎是,如果一个问题有多个输入,如果其中一个输入已填写,那么它似乎认为它很好并且该问题中没有空文本输入错误。这显然是不正确的,因为必须填写问题中的每个输入,不能将任何文本输入留空。
如何更新 fiddle 以解决此问题?
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)
最佳答案
我更新了你的 fiddle 。
参见 this
$("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";
关于jquery - 检查所有空文本输入的验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13744645/
我有一个名为 FeedView 的 View ,由 FeedViewController 处理。 我还有一个名为“NearestStore”的 XIB,它由一个名为“NearestStoreViewC
我有一个警报表,其中 tr 元素是使用 JS 动态添加/删除的。问题是它有一个 border-top 将它与上面的内容分开,当表格为空时我想隐藏这些内容。我试过 :empty 和 display:no
我是一名优秀的程序员,十分优秀!