Javascript 选中复选框内填写详细信息

Javascript 选中复选框内填写详细信息,javascript,php,html,checkbox,Javascript,Php,Html,Checkbox,当我选中任何复选框时,它会给出一条错误消息,显示复选框中的所有详细信息。在我的代码中,如果我选择第一个复选框,那么它将显示一个文本框和一个下拉列表,希望进行验证以填充文本框和下拉列表值,直到它不选中其他选项为止,与所有复选框相同。现在,我只取第一个复选框的文本框和下拉列表,但它适用于每个复选框。 简单地说,除非我不填写文本框值和下拉列表值,否则它不允许选中下一个选项。 我不知道该怎么办。谁能告诉我怎么做 <script> function validate() { docum

当我选中任何复选框时,它会给出一条错误消息,显示复选框中的所有详细信息。在我的代码中,如果我选择第一个复选框,那么它将显示一个文本框和一个下拉列表,希望进行验证以填充文本框和下拉列表值,直到它不选中其他选项为止,与所有复选框相同。现在,我只取第一个复选框的文本框和下拉列表,但它适用于每个复选框。 简单地说,除非我不填写文本框值和下拉列表值,否则它不允许选中下一个选项。 我不知道该怎么办。谁能告诉我怎么做

<script>
function validate()
{
    document.getElementById("error").innerHTML="atleast check one checkbox.";
    //alert("");
    var chk=document.getElementsByName("chkbox");
    var hasChecked = false;
    for(var i=0; i<chk.length; i++)
        {
            if(chk[i].checked)
            { 
                hasChecked= true;

                break;
            }
        }
return true;
}

function toggle(source) {
  checkboxes = document.getElementsByName('a[]');
  for(var i=0, n=checkboxes.length;i<n;i++) 
  {
    checkboxes[i].checked = source.checked;
  }
}
</script>
</head>
<body>
<form method="post" name="form">
<table>
<tr><td><div id="error"></div></td></tr>
<tr><td style="padding:10px;padding-top:0; padding-bottom:0" >1 .What does the scope of test include?</td></tr>
<tr><td style="padding-left:5%;padding-bottom:0"><input type="checkbox" name="a[]" value="a) selected 1"> &nbsp;&nbsp;&nbsp;a)select 1<br /><br />
Name : <input type="text" name="fname"  /><br /><br />
Country : <select><option value="1">india</option><option value="2">usa</option></select>
</td></tr>
<tr><td style="padding-left:5%;padding-bottom:0"><input type="checkbox" name="a[]" value="b) selected 2"/>&nbsp;&nbsp;&nbsp;b)select 2</td></tr>
<tr><td style="padding-left:5%;padding-bottom:0"><input type="checkbox" name="a[]" value="c)selected 3"/>&nbsp;&nbsp;&nbsp;c select 3</td></tr>
<tr><td style="padding-left:5%;padding-bottom:0"><input type="checkbox" name="a[]" value="d)selected 4"/>&nbsp;&nbsp;&nbsp;d)select 4</td></tr>
<tr><td style="padding-left:5%;padding-bottom:0"><input type="checkbox" name="a[]" onClick="toggle(this)" value="e)Or all of the above"/>&nbsp;&nbsp;&nbsp;e)Or all of the above </td></tr>
</table>
<input type="submit" onclick="validate()" name="submit" value="Submit" />
</form>
</body>
</html>

<?php
if(isset($_POST['submit']))
{   
    $a=@$_POST['a'];

    $supplies = @implode(',',$_POST['a']);
    echo $supplies;
}


?>

函数验证()
{
document.getElementById(“错误”).innerHTML=“至少选中一个复选框。”;
//警报(“”);
var chk=document.getElementsByName(“chkbox”);
var hasChecked=false;
对于(var i=0;i,以下是解决方案:

<script>
function validate()
{
    var inputTags = document.getElementsByTagName('input');
    var checkboxCount = 0;
    for (var i=0, length = inputTags.length; i<length; i++) {
         if (inputTags[i].type == 'checkbox') {
            if(inputTags[i].checked){
                checkboxCount++;
            }    
         }
    }

    if(checkboxCount == 0){
        document.getElementById("error").innerHTML="atleast check one checkbox.";
        return false;
    }else{
        checkboxesahas = document.getElementsByClassName('aopt');        
        for(var i=0, n=checkboxesahas.length;i<n;i++)
        {
          if(checkboxesahas[i].checked){
              ahaselements = document.getElementsByClassName('ahaselement');
              for(var j=1;j<=ahaselements.length;j++) {
                ahaselementid = 'ahaselement'+j;
                if(document.getElementById(ahaselementid).value == ''){
                    document.getElementById("error").innerHTML="value missing in one or more of checked checkbox element.";
                    return false;                    
                }
              }
          }
        }        
    }
return true;
}

function toggle(source) {
  checkboxes = document.getElementsByClassName('aopt');
  for(var i=0, n=checkboxes.length;i<n;i++) 
  {
    checkboxes[i].checked = source.checked;
  }
}
</script>
</head>
<body>
<form method="post" name="form">
<table>
<tr><td><div id="error"></div></td></tr>
<tr><td style="padding:10px;padding-top:0; padding-bottom:0" >1 .What does the scope of test include?</td></tr>
<tr><td style="padding-left:5%;padding-bottom:0"><input type="checkbox" name="a[]" class="aopt" value="a) selected 1"> &nbsp;&nbsp;&nbsp;a)select 1<br /><br />
Name : <input type="text" name="fname" id="ahaselement1" class="ahaselement" /><br /><br />
Country : <select name="country" id="ahaselement2" class="ahaselement"><option value="">no</option><option value="1">india</option><option value="2">usa</option></select>
</td></tr>
<tr><td style="padding-left:5%;padding-bottom:0"><input type="checkbox" name="a[]" class="aopt" value="b) selected 2"/>&nbsp;&nbsp;&nbsp;b)select 2</td></tr>
<tr><td style="padding-left:5%;padding-bottom:0"><input type="checkbox" name="a[]" class="aopt" value="c)selected 3"/>&nbsp;&nbsp;&nbsp;c select 3</td></tr>
<tr><td style="padding-left:5%;padding-bottom:0"><input type="checkbox" name="a[]" class="aopt" value="d)selected 4"/>&nbsp;&nbsp;&nbsp;d)select 4</td></tr>
<tr><td style="padding-left:5%;padding-bottom:0"><input type="checkbox" name="a[]" class="aopt" onClick="toggle(this)" value="e)Or all of the above"/>&nbsp;&nbsp;&nbsp;e)Or all of the above </td></tr>
</table>
<input type="submit" onclick="return validate()" name="submit" value="Submit" />
</form>
</body>
</html>

<?php
if(isset($_POST['submit']))
{
    $a=@$_POST['a'];

    $supplies = @implode(',',$_POST['a']);
    echo $supplies;
}


?>

函数验证()
{
var inputTags=document.getElementsByTagName('input');
var checkboxCount=0;

对于(var i=0,length=inputTags.length;iSorry这太令人困惑了,请描述确切的问题您有这么大的复选框,可以在复选框内显示文本框和下拉列表?我更新了我的问题,请选中它。@arunpasanth kv复选框内的所有值是什么意思?不要关注复选框大小,只需阅读问题&回答它。@Teemu@sandysharma-不客气,兄弟!