求助,有如下代码。想实现A组至少选择一个,B组至少选择一个,如何写在同一个脚本里?越简洁越好,有注释更好~~~并且按选中为1,未选中为0,将多选值映射成二进制字符串?例如选择A1B2,则传出1001000?求高手指点,不吝赐教~~<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<form name="sub">
1:<input type="checkbox" name="A" /><br/>
2:<input type="checkbox" name="A" /><br/>
1:<input type="checkbox" name="B" /><br/>
2:<input type="checkbox" name="B" /><br/>
3:<input type="checkbox" name="B" /><br/>
4:<input type="checkbox" name="B" /><br/>
5:<input type="checkbox" name="B" /><br/>
<input type="button" value="submit" onclick="checkbx();"/>
</form>
</BODY>
<script type="text/javascript">
function checkbx()
{
var isChecked = false;
var boxArr = document.getElementsByName("A");
var str = "";
for (var i=0; i<boxArr.length;i++)
{
if (boxArr[i].checked)
{
boxArr[i].value = 1;
isChecked = true;
}
else
{
boxArr[i].value = 0;
}
str += boxArr[i].value;
}
if(isChecked)
{
alert("Success!!");
}
else
{
alert("Error!!");
}
}
function checkbx()
{
var isChecked = false;
var boxArr = document.getElementsByName("B");
var str = "";
for (var i=0; i<boxArr.length;i++)
{
if (boxArr[i].checked)
{
boxArr[i].value = 1;
isChecked = true;
}
else
{
boxArr[i].value = 0;
}
str += boxArr[i].value;
}
if(isChecked)
{
alert("Success!!");
//alert("boxArr" + i + "====" + boxArr[i].value);
}
else
{
alert("Error!!");
}
} </script>
</HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<form name="sub">
1:<input type="checkbox" name="A" /><br/>
2:<input type="checkbox" name="A" /><br/>
1:<input type="checkbox" name="B" /><br/>
2:<input type="checkbox" name="B" /><br/>
3:<input type="checkbox" name="B" /><br/>
4:<input type="checkbox" name="B" /><br/>
5:<input type="checkbox" name="B" /><br/>
<input type="button" value="submit" onclick="checkbx();"/>
</form>
</BODY>
<script type="text/javascript">
function checkbx()
{
var isChecked = false;
var boxArr = document.getElementsByName("A");
var str = "";
for (var i=0; i<boxArr.length;i++)
{
if (boxArr[i].checked)
{
boxArr[i].value = 1;
isChecked = true;
}
else
{
boxArr[i].value = 0;
}
str += boxArr[i].value;
}
if(isChecked)
{
alert("Success!!");
}
else
{
alert("Error!!");
}
}
function checkbx()
{
var isChecked = false;
var boxArr = document.getElementsByName("B");
var str = "";
for (var i=0; i<boxArr.length;i++)
{
if (boxArr[i].checked)
{
boxArr[i].value = 1;
isChecked = true;
}
else
{
boxArr[i].value = 0;
}
str += boxArr[i].value;
}
if(isChecked)
{
alert("Success!!");
//alert("boxArr" + i + "====" + boxArr[i].value);
}
else
{
alert("Error!!");
}
} </script>
</HTML>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</HEAD>
<BODY>
<form name="sub">
1:<input type="checkbox" name="A" /><br/>
2:<input type="checkbox" name="A" /><br/>
1:<input type="checkbox" name="B" /><br/>
2:<input type="checkbox" name="B" /><br/>
3:<input type="checkbox" name="B" /><br/>
4:<input type="checkbox" name="B" /><br/>
5:<input type="checkbox" name="B" /><br/>
<input type="button" value="submit" id="btn"/>
</form>
</BODY>
<script type="text/javascript">
document.getElementById('btn').onclick = function(){
var a = document.getElementsByName('A'),
b = document.getElementsByName('B'),
cb = document.getElementsByTagName('input'),
len = cb.length,is_a = is_b = false,str = '';
for(var i = 0; i < a.length; i++){
if(a[i].checked){
a[i].value = '1';
is_a = true;
}else{
a[i].value = '0';
}
}
for(var j = 0; j < b.length; j++){
if(b[j].checked){
b[j].value = '1';
is_b = true;
}else{
b[j].value = '0';
}
}
if(is_a && is_b){
for(var k = 0; k < len; k++){
if(cb[k].type == 'checkbox'){
str += cb[k].value;
}
}
alert('结果为:' + str);
}else{
alert('每组至少选择一个')
}
};</script>
</HTML>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function checkbx() {
var FLAG_A = FLAG_B = false; //表示是否通过验证,默认为通过验证
var msg = []; //保存错误信息
var A = document.getElementsByName('A');
for( var i = 0; i < A.length; i ++) {
if (A[i].checked) {
FLAG_A = true;
break;
}
}
var B = document.getElementsByName('B');
for( var i = 0; i < B.length; i ++) {
if (B[i].checked) {
FLAG_B = true;
}
}
if (!FLAG_A) msg.push('A组至少选一个');
if (!FLAG_B) msg.push('B组至少选一个');
if (FLAG_A && FLAG_B) {
var inputs = document.getElementsByName('sub')[0].getElementsByTagName('input');
var result = '';
for( var i = 0; i < inputs.length; i ++) {
if (inputs[i].type.toLowerCase() == 'checkbox') inputs[i].checked ? result += '1' : result += '0'; //组合checkbox数据,选择为1,否则为0
}
alert(result);
return true;
}
else {
alert(msg);
return false;
}
}
</script>
</head><body>
<form name="sub">
1:<input type="checkbox" name="A" /><br/>
2:<input type="checkbox" name="A" /><br/>
1:<input type="checkbox" name="B" /><br/>
2:<input type="checkbox" name="B" /><br/>
3:<input type="checkbox" name="B" /><br/>
4:<input type="checkbox" name="B" /><br/>
5:<input type="checkbox" name="B" /><br/>
<input type="button" value="submit" onclick="checkbx();"/>
</form>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function checkbx() {
var result = '';
var obj = document.getElementsByTagName('form')[0].getElementsByTagName('input');
for ( var i = 0; i < obj.length; i ++) if (obj[i].type.toLowerCase() == 'checkbox') obj[i].checked ? result += '1' : result += '0';
if (/^([0]{7})|([0]{2}[01]{5})|([01]{2}[0]{5})$/.test(result)) {
alert('A、B组至少各选一个');
return false;
}
else {
alert(result);
return true;
}
}
</script>
</head><body>
<form name="sub">
1:<input type="checkbox" name="A" /><br/>
2:<input type="checkbox" name="A" /><br/>
1:<input type="checkbox" name="B" /><br/>
2:<input type="checkbox" name="B" /><br/>
3:<input type="checkbox" name="B" /><br/>
4:<input type="checkbox" name="B" /><br/>
5:<input type="checkbox" name="B" /><br/>
<input type="button" value="submit" onclick="checkbx();"/>
</form>
</body>
</html>
http://www.w3school.com.cn/htmldom/dom_nodes_access.asp