完整示例
如果您确认它会发送其他所有内容,它将停止。
适用于无限的复选框。
一个事件监听器。
兼容性:需要e.preventDefault()
(仅第一个示例)和querySelectorAll()
在 querySelectorAll() 中,您还可以添加复选框集的名称。
纯 JavaScript。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>checkbox</title>
<style>
</style>
<script>
(function(W){
var D;
function init(){
D=W.document;
D.getElementsByTagName('form')[0].addEventListener('submit',h,false);
}
function h(e){
var s=this.querySelectorAll('input[type=checkbox]:checked'),l=s.length,a=[];
while(l--){a[l]=s[l].value;}
confirm(a.join(', '))?null:e.preventDefault();
}
W.addEventListener('load',init,false)
})(window)
</script>
</head>
<body>
<form method="post">
<input type="checkbox" name="fruit[]" value="apple" id="apple" /><label for="apple">Apple</label><br />
<input type="checkbox" name="fruit[]" value="pinapple" id="pinapple" /><label for="pinapple">Pinapple</label><br />
<input type="checkbox" name="fruit[]" value="grapefruit" id="grapefruit" /><label for="grapefruit">Grapefruit</label><br />
<input type="submit" name="go" />
</form>
</body>
</html>
如果您希望在更改的输入文件中显示结果:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>checkbox</title>
<style>
</style>
<script>
(function(W){
var D;
function init(){
D=W.document;
D.getElementsByTagName('form')[0].addEventListener('change',h2,false);
}
function h2(e){
var s=this.querySelectorAll('input[type=checkbox]:checked'),l=s.length,a=[];
while(l--){a[l]=s[l].value;}
D.getElementById('fruits').value=a.join(', ');
}
W.addEventListener('load',init,false)
})(window)
</script>
</head>
<body>
<form method="post">
<input type="checkbox" name="fruit[]" value="apple" id="apple" /><label for="apple">Apple</label><br />
<input type="checkbox" name="fruit[]" value="pinapple" id="pinapple" /><label for="pinapple">Pinapple</label><br />
<input type="checkbox" name="fruit[]" value="grapefruit" id="grapefruit" /><label for="grapefruit">Grapefruit</label><br />
<input type="submit" name="go" />
</form>
<input id="fruits">
</body>
</html>