所以我有输入字段,当提交时,我检查他们输入的文本是否出现在数组中:
<form method="post">
<input type="text" name="1">
<input type="text" name="2">
<input type="text" name="3">
<input type="submit" name="submit">
</form>
<?php
if(isset($_POST['submit'] {
$array = array('432423', '434', '3', '2', '213');
$success = true;
foreach ($_POST as $key=>$value) {
if (!empty($value) && $key != "submit") {
if (!in_array($value, $array)) {
$success = false;
}
}
}
var_dump($success);
// TRUE if all contains, FLASE if any one doesn't contain
}
?>
但是,如果我想要一个输入字段不必检查数组,我该怎么做呢
答案 0 :(得分:1)
然后你可能想检查另一个$key != something
?
E.g。
if (!empty($value) && $key != "submit" && $key != "2") {
...
这将排除第二个输入......
答案 1 :(得分:0)
你可以收集数组中的所有名字,只需设置名称=&#34;名称[]&#34;对于所需的输入,您将能够以阵列形式访问所有输入($ _POST [&#39;名称&#39;])
if (! empty($_POST['names']) ) {
$names = $_POST['names'];
foreach ($names as $value) {
if (!empty($value)) {
if (!in_array($value, $array)) {
$success = false;
}
}
}
}
并像这样循环遍历
{{1}}
答案 2 :(得分:-1)
使用https://jqueryvalidation.org
<form id="my_form" method="post">
<input type="text" name="a1">
<input type="text" name="a2">
<input type="text" name="a3">
<input type="checkbox" name="chk1" id="chk1">
<input type="submit" name="submit">
</form>
<script type="text/javascript">
$("#my_form").validate({
rules: {
"a1": {
required: true
},
"a2": {
required: true
},
"a3": {
required: true
},
"chk1": {
required: {
depends: function() {
return !$("#chk1").is(":checked");
}
}
}
}
});
</script>