【发布时间】:2019-08-07 06:59:36
【问题描述】:
我有一个在加号按钮后附加的动态输入字段。
这些字段对应的id分别是answer0、answer1、answer2等。这意味着单击按钮后,id 将动态附加到文本字段。 现在我想验证这些字段。我的验证码如下
function showValidation(response) {
var respArray = JSON.parse(response.responseText).errors;
for(var i=0;i<=(Object.keys(respArray).length);i++){
var optionss= 'Enter Answers.';
if($("#answer"+i).val()==''){
$('#answer'+i+' + span').html('');
$('#answer'+i).after('<span class="' + errTextboxClass + '" style="color:#e03b3b">' + optionss+ '</span>');
$('#answer'+i).focus();
}
}
}
我正在检查直到响应错误长度。但在这些字段中给出值之前,验证工作正常(图 1)。但是,如果我如上图所示为前 2 个字段输入值,则不会显示第三个字段的验证消息(图 2)。因为在这个阶段,id 是 answer2,循环 'i' 值首先检查 0,然后检查 1。所以在循环 answer0 和 answer1 内有值,所以验证停止在那里。我也需要对下一个字段进行验证。提前致谢。
我的 HTML 和相应的附加函数
<input class="form-control" name="answer0[]" id="answer0" placeholder="OPTION 1">
<a class="add-option" onclick="AppendOption()"><img src="{{asset('admin/images/icn-add-option.png')}}" alt=""></a>
function AppendOption(){
var k=1;
$('#appendOption').append('<div class="form-group row"><div class="col-md-4"><input class="form-control" name="answer0[]" id="answer'+k+'" placeholder="OPTION" ></div></div>');
k++;
}
【问题讨论】:
-
为什么不使用不是 id 的选择器呢?在这种情况下,您可以轻松地迭代每个元素。你的表单的 html 是什么样子的?
-
你能解释一下吗? showValidation(response) 你在哪里调用这个函数??
标签: javascript jquery validation