【发布时间】:2010-11-17 18:47:18
【问题描述】:
我有一个 HTML 表单,当用户尝试在字段留空的情况下提交它时,它会在每个标签上放置一个星号。但是,它只在第一个留空的标签上加上一个星号,而不是全部。这是我的 HTML:
<label for="name"><span class="asterisk">* </span>Name</label>
<input type="text" id="name" name="name" class="required" />
<label for="email"><span class="asterisk">* </span>Email</label>
<input type="text" id="email" name="email" class="required" />
<label for="company"><span class="asterisk">* </span>Company</label>
<input type="text" id="company" name="company" class="required" />
<label for="address"><span class="asterisk">* </span>Address</label>
<input type="text" id="address" name="address" class="required" />
<label for="favColor"><span class="asterisk">* </span>Favorite Color</label>
<input type="text" id="favColor" name="favColor" value="N/A" />
这是我的 jQuery:
$(function() {
$('.submit').click(function() {
if ($('#name').val().length == 0) {
$('label[for="name"] .asterisk').show();
return false;
}
if ($('#email').val().length == 0) {
$('label[for="email"] .asterisk').show();
return false;
}
if ($('#company').val().length == 0) {
$('label[for="company"] .asterisk').show();
return false;
}
if ($('#address').val().length == 0) {
$('label[for="address"] .asterisk').show();
return false;
}
if ($('#favColor').val().length == 0) {
$('label[for="favColor"] .asterisk').show();
return false;
}
else {
$('.right').stop().animate({scrollTop: 0}, { duration: 1500, easing: 'easeOutQuart'});
}
});
});
请原谅 n00bish jQuery。如果有人能想出一个简单的解决方案,让跨度标签中的星号出现在提交时留空的所有字段上,那就太棒了!
【问题讨论】:
标签: jquery html validation forms field