空かどうかを検証する次のコードがあります。
$(".req").each(function(){
$(this).validate(formValidate, {
isNot: new Array("")
});
$(this).validateError(function(form, e){
form.preventDefault();
$(e).css("background-color", "red");
});
$(this).valid(function(form, e){
$(e).css("background-color", "white");
});
});
ノート:
- .req は、必須フィールドかどうかを検証するために指定したクラスです
- isNot + new Array("") は、値を空にすることはできないことを表します
- $(e).css は、入力が実際に空の場合は入力の背景色を赤に変更し、そうでない場合 (有効) は単に白になります
私の質問は次のとおりです。エラーとしてテキストを追加するにはどうすればよいですか? 私は .append() または .appendTo() を試しましたが、これは入力要素の値を埋めるだけで、画面のどこにもありません。
私はこのようなことを試しました:
var getElement = document.getElementsByClassName(this); //This is still the .req
$(getElement).parent().append();
var testAppend = "Tester 123";
$(testAppend).appendTo($(getElement).parent());
しかし、私はそれを機能させていません..
前もって感謝します!
編集 不明瞭で申し訳ありませんが、もう少し詳しく説明します。
私はこのようなことが起こっています:
<p>Firstname</p>
<p><input type="text" class="req name" /></p>
今私がやろうとしているのは、$(this).validateError 関数の入力の上または下に追加することです。クラスを使用しているので、要素を取得する必要があります (そのため、.getElementsByClassName を使用しました)
JavaScript ファイル:
$('#form').submit(function(form){ var formValidate = new Validate;
$(".req").each(function(){
$(this).validate(formValidate, {
isNot: new Array("")
});
$(this).validateError(function(form, e){
form.preventDefault();
$(e).css("background-color", "red");
var getElement = document.getElementsByClassName(this);
$(getElement).parent().append();
var testAppend = "Tester 123";
$(getElement).parent().append(testAppend);
});
$(this).valid(function(form, e){
$(e).css("background-color", "white");
});
});
});