在我的Javascript中,我正在尝试验证用户的输入。 有没有办法可以显示(通过 .html()定义文本)(上)最接近的元素,类名为“xy”
我的HTML文件如下所示:
<div class=" row validate" style="display:none;">
<div class="col-lg-1"></div>
<div class="col-lg-7"><p class="validation_text"></p></div>
</div>
<div class="row">
<div class="col-lg-1 col-sm-0 col-xs-12"></div>
<div class="col-lg-3 col-sm-3 col-xs-12"><a href="#" data-
toggle="tooltip" data-placement=" auto top" title="Text">Information</a></div>
<div class="col-lg-2 col-sm-2 col-xs-12"><input id="xy" name="xy"
type="search" class="form-control" maxlength="2" onChange="validate(this);">
</div>
</div>
和我的JS-File:
function validate(){
var regex = new RegExp(/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?()]/);
var box = ['xy','xyyy];
var element;
element = document.getElementById(box[i]);
for (i=0; i < box.length; i++){
if(regex.test(element.value)){
$(element).parent().parent().prev().show();
element.style.border = '2px solid red';
$(".validation_text").eq([i]).html("your input contains regex");
}
}
}
一切正常,我遇到的唯一问题是最后一部分。 validation_text未显示。有人知道为什么吗?
答案 0 :(得分:5)
eq()需要一个整数,你给它一个数组
$(".validation_text").eq([i])
应该是
$(".validation_text").eq(i)