我有一个多选复选框表单,我添加了一个JS以确保访问者选择至少一个选项
<div class="form-group options">
<label class="control-label col-md-4" for="optiontext">Specify an option</label>
<div class="col-md-6">
<input type="checkbox" name="option[]" value="option1" required/> Option 1<br>
<input type="checkbox" name="option[]" value="option2" required/> Option 2<br>
<input type="checkbox" name="option[]" value="option3" required/> Option 3<br>
<input type="checkbox" name="option[]" value="option4" required/> Option 4<br>
<input type="checkbox" name="option[]" value="option5" required/> Option 5<br>
<input type="checkbox" name="option[]" value="option6" required/> Option 6<br>
<input type="checkbox" name="option[]" value="option7" required/> Option 7
</div>
那是JS
$(function(){
var requiredCheckboxes = $('.options :checkbox[required]');
requiredCheckboxes.change(function(){
if(requiredCheckboxes.is(':checked')) {
requiredCheckboxes.removeAttr('required');
} else {
requiredCheckboxes.attr('required', 'required');
}
});
现在一切正常,唯一的问题是出现的错误信息如果你想继续,请选中此框,但我希望消息请选择至少有一个选项可以继续,如图所示。
我该如何解决?
答案 0 :(得分:4)
借助HTML5事件oninvalid
来控制自定义消息非常简单代码:
<input type="checkbox" value="option1"
oninvalid="this.setCustomValidity('Please select at least one option to proceed')">