我希望将其作为HTML错误消息而不是警报消息,但我发现解决方案很少,但没有一个能按预期运行
$('form').on('click', '.required_group', function() {
$('input.required_group').prop('required', $('input.required_group:checked').length === 0);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="checkbox" name="whatever" value="1" required class="required_group" />
<input type="checkbox" name="whatever" value="2" required class="required_group" />
<input type="checkbox" name="whatever" value="3" required class="required_group" />
<input type="checkbox" name="whatever" value="4" required class="required_group" />
<input type="submit" name="submit" />
</form>
答案 0 :(得分:1)
这是带有自定义错误消息的方法。
它将查看类为ngAfterViewChecked() {
console.trace();
}
的所有内容,并计算检查该对象的每个实例。如果数字为0,则会设置一条自定义消息并触发它,但是,如果有一个或多个,它将重置该消息并触发提交。
required_group
function validateGrp() {
let things = document.querySelectorAll('.required_group')
let checked = 0;
for (let thing of things) {
thing.checked && checked++
}
if (checked) {
things[things.length - 1].setCustomValidity("");
document.getElementById('checkGroup').submit();
} else {
things[things.length - 1].setCustomValidity("You must check at least one checkbox");
things[things.length - 1].reportValidity();
}
}
document.querySelector('[name=submit]').addEventListener('click', () => {
validateGrp()
});
答案 1 :(得分:0)
$filename = iconv("utf-8", "cp936", $filename);
希望它会为您服务