我有一个表格,可以选择相同或不同的地址。
<label for="lastname"> Last Name <small>required</small>
<input type="text" name="s.lastname" value="<?php echo $value['s_lastname'];?>" placeholder="Last Name" required />
</label>
<label for="email"> Email <small>required</small>
<input type="text" name="s.email" value="<?php echo $value['email'];?>" placeholder="Your Email" required pattern="email"/>
<small class="error">Email is not valid.</small>
</label>
<label for="phone"> Phone
<input type="text" name="s.phone" value="<?php echo $value['s_phone'];?>" placeholder="Phone number" />
</label>
<!-- this is same radio button -->
<fieldset>
<legend>Shipping and billing address the same?</legend>
<input checked type="radio" name="checkoutaddress" value="same"/><label for="same">Yes</label>
<input type="radio" name="checkoutaddress" value="different"/><label for="different">No</label>
</fieldset
<!-- this is same radio button end -->
<label for="lastname"> Last Name <small>required</small>
<input type="text" name="b.lastname" value="<?php echo $value['b_lastname'];?>" placeholder="Last Name" required />
</label>
<label for="b.email"> Email <small>required</small>
<input type="text" name="b.email" value="<?php echo $value['email'];?>" placeholder="Your Email" required pattern="email"/>
<small class="error">Email is not valid.</small>
</label>
<label for="b.phone"> Phone
<input type="text" name="b.phone" value="<?php echo $value['b_phone'];?>" placeholder="Phone number" />
</label>
然后我有一个jquery脚本来检查是否检查了相同的单选按钮&#34; b&#34;表格的一部分将被折叠。
$("input[name$='checkoutaddress']").click(function() {
var checkShip = $(this).val();
$("div.checkship").hide();
$("#checkoutaddress" + checkShip).show();
});
问题是所有字段都是必填字段。因此,如果我单击“提交”按钮,将阻止我提交表单。 这是我的问题: 有没有办法阻止&#34; b&#34;要检查的表格的一部分或使表格中不存在,所以如果我检查相同的单选按钮,我可以提交表格。
先谢谢!
答案 0 :(得分:1)
向different
添加ID,使选择器查询变得简单。向fieldset
添加id
optional "b" elements
,以便轻松切换要求。检查是否选中了different
,然后使用required
标记相应地更新字段。
$('#itsdifferent').on('click', function(){
var $this = this;
$('#optionbfieldset input').each(function(){
if($this.checked){
$(this).prop('required', true);
}else{
$(this).removeProp('required');
}
});
});
答案 1 :(得分:1)
从发货地址的标签中删除“必需”。 选中单选按钮并折叠表单的b部分后,您需要启用所需的标记。这样做:
ValidatorEnable(document.getElementById(''),true);
相反,您可以在开头将其设置为默认值,如果选择了无单选按钮则禁用。