切换'必需'属性与jquery

时间:2014-07-21 14:43:47

标签: jquery

这是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中通过控制台检查时,确实设置了所需的属性。在提交表格时,它表现得好像不是。出了什么问题?

1 个答案:

答案 0 :(得分:9)

您在包含required的{​​{1}}上设置了div,而不是input本身。

您需要在input上实际设置required

input