【问题标题】:Javascript checkbox validation not workingJavascript复选框验证不起作用
【发布时间】:2014-03-20 06:51:48
【问题描述】:

如果我在我的 javascript“checkboxlimit(document.forms.world.countries[], 0)”上添加国家 [],则 javascript 无法正常工作。如果我删除 [ ] 那么复选框验证工作得很好。我该如何解决这个问题?这是我的完整代码:

第 1 页:

<script type="text/javascript">
function checkboxlimit(checkgroup, limit){
var checkgroup=checkgroup
var limit=limit
for (var i=0; i<checkgroup.length; i++){
    checkgroup[i].onclick=function(){
    var checkedcount=0
    for (var i=0; i<checkgroup.length; i++)
        checkedcount+=(checkgroup[i].checked)? 1 : 0
    if (checkedcount>limit){
        alert("You can only select a maximum of "+limit+" checkboxes")
        this.checked=false
        }
    }
}
}
</script>

<form id="world" name="world" method="post" action="example2.php">
<select name="dropdown" onclick="Calc(world)">
<option value=""></option>
<option value="school">School</option>
<option value="college">College</option>
</select>

<p>Countries:</p>
<input type="checkbox" name="countries[]" value="USA" /> USA<br />
<input type="checkbox" name="countries[]" value="Canada" /> Canada<br />
<input type="checkbox" name="countries[]" value="Japan" /> Japan<br />
<input type="checkbox" name="countries[]" value="China" /> China<br />
<input type="checkbox" name="countries[]" value="France" /> France<br />
<input type="submit" value="Submit">
</form>

<script type="text/javascript">
function Calc(world){
var entersel1 = document.world.dropdown.value;
if (entersel1 == ''){
checkboxlimit(document.forms.world.countries[], 0)
}
else if(entersel1 == 'school'){
checkboxlimit(document.forms.world.countries[], 2)
}
else{
checkboxlimit(document.forms.world.countries[], 3)
}
}
</script>

第 2 页:

<?php
$dropdown = $_POST['dropdown'];
$countries = implode(',', $_POST['countries']);
echo $dropdown.'<br>'.$countries;
?>

【问题讨论】:

    标签: javascript validation checkbox


    【解决方案1】:
    <script type="text/javascript">
    function Calc(world){
    var entersel1 = document.world.dropdown.value;
    if (entersel1 == ''){
    checkboxlimit(document.forms.world['countries[]'], 0)
    }
    else if(entersel1 == 'school'){
    checkboxlimit(document.forms.world['countries[]'], 2)
    }
    else{
    checkboxlimit(document.forms.world['countries[]'], 3)
    }
    }
    </script>
    

    把它放在括号 [] 中,在引号之间。

    【讨论】:

      猜你喜欢
      • 2014-08-14
      • 1970-01-01
      • 2017-10-11
      • 2019-02-16
      • 2023-03-14
      • 1970-01-01
      • 2018-11-23
      • 1970-01-01
      • 2011-10-18
      相关资源
      最近更新 更多