これは私のhtmlです(テキストエリアを追加したばかりです):
<form>
<div id="input_wrapper">
<label for="name">Name:</label>
<input type="text" name="name" value=""/>
<label for="phone">Phone:</label>
<input type="text" name="phone" value=""/>
<label for="email">Email:</label>
<input type="text" name="email" value="" />
<label for="textbox">Comments:</label>
<textarea name="textbox" rows=3 cols=30 ></textarea>
<input type="submit" value="" />
</div>
</form>
これはコードの他の部分です。
$('form').submit(function (e) {
var flag = true;
var inputs = $(this).find('input[type="text"]');
inputs.each(function(){
if ($(this).val() === ''){
//$(this).addClass('invalid');
$(this).prev().addClass('invalid');
if ($(this).next().is('span') === false){
$(this).after('<span>' + $(this).attr('name') + ' is required</span>');
}
flag = false;
}else{
$(this).removeClass('span');
$(this).prev().removeClass('invalid');
if ($(this).next().is('span')){
$(this).next().remove();
}
}
});
if (flag === false) {
e.preventDefault();
}
});
テキストエリアをjqueryに含める必要があり、入力と同じように機能する必要があります。