我有一个表单,其中的字段按以下格式构建:
<span class="req">*</span>
<label for="name">Name</label><br>
<input type="text" id="name">
在提交时,我想标记前面带有星号的空字段。我假设我可以使用.each()
遍历我的表单字段,但是如何仅定位必填字段?
答案 0 :(得分:1)
$('.req').each(function(){
if($(this).text()=='*') {
if(!$(this).siblings('input').val()) {//Has no value
//DO STUFF HERE
}
}
});
喜欢这个吗?
或者你可以这样做:
$('input').each(function(){
//IF NO VALUE AND IS REQUIRED
if(!$(this).val() && $(this).siblings('.req').length != 0) {
$(this).addClass('error');//AS PRAVEEN SUGGESTS
alert('Field is required');
}
});
警告强>
此代码假定您的span
,label
和input
位于另一个元素内,并且不共享其他输入和.req
。否则,.siblings()
方法将返回多个元素。
答案 1 :(得分:1)
请向required
的课程说input
,该课程不应为空。并使用此功能:
$('.required').each(function(){
if($(this).val() == '') {
$(this).addClass("error");
}
});
在CSS中,将.error
定义为:
.error {border: 1px solid #f00;}