問題
フォームの送信時Layui、そこになりますcheckbox
必須とし、提出時に検証する必要があります。
ソリューション
- では
HTML
、追加コンテンツの形式
<form action="" method="">
<!-- Checkbox -->
<input type="checkbox" name="test[]" value="1" title="1">
<input type="checkbox" name="test[]" value="2" title="2">
<input type="checkbox" name="test[]" value="3" title="3">
<input type="checkbox" name="test[]" value="4" title="4">
<!-- 提交 Button -->
<button type="submit" class="layui-btn" lay-submit layui-filter="filter">提交</button>
</form>
- で
JavaScript
確認してください
<script>
layui.use('form', () => {
const form = layui.form;
form.on('submit(filter)', (obj) => {
let data = obj.field;
if (!Object.keys(data).filter((x) => { return /^test\[\d+\]&/.test(x) }).length) {
console.log('请选择');
return false;
}
});
});
</script>
説明
checkbox
命名する必要がありname + []
、上記の例である使用されますtest[]
。Object.keys(data)
鍵データを取得するために使用され、戻り値が配列である、配列があるdata
キー名。Array.filter()
配列の値を取得するための要件を満たして、渡されcallback
、戻り値は配列です。上記の例では関数の本体は、以降、ポジティブにマッチするセット、正の対応、時間のみ使用する必要があるに対応缶。checkbox
name
test[]
test
test
name 值
- 認証が失敗したときに最後に、使用することができ
return false
提出を防ぐために。