验证复选框限制到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

回到顶部