这是jsfiddle:http://jsfiddle.net/LEZ4r/77/
代码本身:
<form action="demo_form.asp">
<input type="text" name="first_name" value="" id="freeform_first_name"
maxlength="150" required/>
<div>
Needs coupon?
<input type="radio" name="requires" value="yes">Yes</input>
<input type="radio" name="requires" value="no" checked>No</input>
</div>
<div class="coupon" id="hidden">
<input type="text" name="code"
maxlength="150"/>
</div>
<input type="submit"/>
</form>
$(function(){
$('.coupon').toggle(); $('input:radio[name="requires"]').change(function() {
var coup = $('.coupon');
coup.toggle();
if (coup.prop('required')) {
coup.prop('required', false);
} else {
coup.prop('required', true);
}
});
});
当我在chrome中通过控制台检查时,确实设置了所需的属性。在提交表格时,它表现得好像不是。出了什么问题?
答案 0 :(得分:9)
您在包含required
的{{1}}上设置了div
,而不是input
本身。
您需要在input
上实际设置required
:
input