验证复选框限制到5
<html> <head>
<title>HTML Checkbox</title>
</head>
<body>
enter code here
<h2> Pick your most favorite fruits: </h2>
<form name="fruitcheckbox" action="fruits.php" method="POST">
<input type="checkbox" name="fruit[]" value="orange"> Orange
<input type="checkbox" name="fruit[]" value="apple"> Apple
<input type="checkbox" name="fruit[]" value="grapefruit"> Grapefruit
<input type="checkbox" name="fruit[]" value="banana"> Banana
<input type="checkbox" name="fruit[]" value="watermelon"> Watermelon
<br>
<input type="submit" value="Save" name="btnsave">
</form>
验证复选框限制到5
任何人都可以给我一个想法如何验证这个checkobox阵列。
if(isset($_POST['btnsave'])) { $fruit = $_POST['fruit'];
$values = array();
foreach($chkbox as $selection)
{ if(in_array($selection, $fruit))
{ $values[ $selection ] = 1; }
else
{ $values[ $selection ] = 0; }
}
这是我的代码部分。我想限制复选框为5.谢谢。我非常需要:|
回答:
试试这个。你可以限制在JavaScript本身。所以你可以限制用户在客户端不需要去服务器端。它会限制你4项。您可以更改的数量在脚本增加值
<script type="text/javascript"> function validateitem(){
var items = document.forms['fruitcheckbox'];
var inc = 0;
var i;
for (i = 0; i < items.length; i++) {
if (items[i].checked) {
inc++;
}
}
if(inc == 0) {
document.getElementById("limitmsg").innerHTML = 'Select atleast 1 item.';
return false;
} else if(inc>4){
document.getElementById("limitmsg").innerHTML = 'You can select only 4 items.';
return false;
}
}
</script>
<h2>Pick your most favorite fruits:</h2>
<form name="fruitcheckbox" action="fruits.php" method="POST"
onsubmit="return validateitem();">
<input type="checkbox" name="fruit[]" value="orange"> Orange <input
type="checkbox" name="fruit[]" value="apple"> Apple <input
type="checkbox" name="fruit[]" value="grapefruit"> Grapefruit <input
type="checkbox" name="fruit[]" value="banana"> Banana <input
type="checkbox" name="fruit[]" value="watermelon"> Watermelon <br> <span
style="color: red" id="limitmsg"></span><input type="submit"
value="Save" name="btnsave">
</form>
回答:
你需要这样的东西吗?
if (isset($_POST['btnsave'])) { $fruits = $_POST['fruit'];
$count = count($fruits);
if ($count > 5) {
// Error; Only 5 checks allowed
} else {
// Save the data
}
}
回答:
当你提交带括号的字段,如你的例子。名称=“水果[]”它将是一个数组,当它在后端接收到的PHP。 然后,您可以只使用这样的:
if(isset($_POST['fruit']) && count($_POST['fruit']) > 5) { // add your error message
} else {
// Everything is fine as long as you dont have to select atleast one of them
}
回答:
如果我的理解是没有错的,你有更多然后5个复选框,并且希望用户限制到只检查5复选框。
如果是这种情况,那么下面的代码可能会帮助你。
$("input[name='fruit[]']").change(function(e) { if($('input[name="fruit[]"]:checked').length==5) {
$("input[name='fruit[]']:not(:checked)").attr("disabled", true);
} else {
$("input[name='fruit[]']:not(:checked)").attr("disabled", false);
}
});
上面的代码将允许你检查只有5复选框,当用户选中复选框5日将禁用其余未选中的复选框。每当用户取消选中5个复选框中的任何一个时,它将启用所有复选框。
以上是 验证复选框限制到5 的全部内容, 来源链接: utcz.com/qa/263447.html