1
私のJavascriptでは、ユーザーの入力を検証しようとしています。Jqueryを介した入力ボックスの正しい検証。
<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>
: は私が見ることができます方法(の.html()経由でテキストを定義する)クラス名 "XY"
私のHTML-ファイルを使用した(上段)に最も近い要素がこのように見えますがありますと私のJSファイルで:
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は表示されません。なぜ誰が知っていますか?
'.EQ([i])とする必要があり、それを与えている。'なぜブラケット? – epascarello
'var box = ['xy'、 'xyyy];'行をチェックしましたか?不足しているのは誤植ですか、忘れられていますか? – reporter
'eq'を正しく読んでいますか? "あなたが指摘しているインデックス 'i'の新しい配列である 'validation_text'クラスの要素を私に渡していますか? – Nate