嗨,有人可以帮我解决以下问题。每当检测到空白或非空白文本框时,每次Empty!
或Full!
都会打印。
我需要的是以下内容;
在一系列文本框(在数组中)中,即使只有一个文本被检测到空白,只需回显Empty!
ONLY ONCE ,而不是每次都有空白文本框。< / p>
如果仅所有文本框都是非空白的,则仅回显Full!
的 ONCE!
您如何建议我更改以下内容?谢谢。
if(isset($_POST['Save']))
{
if(is_array($_POST['name']))
{
foreach($_POST['name'] as $Value)
{if($Value == '')
{
echo "<table border='1'><tr><td>Response</td></tr></table>";
echo "Empty!";
}
else
{
echo "<table border='1'><tr><td>Response</td></tr></table>";
echo "Full";
}
}
}
}
修改
echo "<td><input style='width:60px' type='text' name='name[]' id='vtext' class='sc_two' size='80' maxlength='5'></td>
然后在验证码中我有以下内容;
if(isset($_POST['Save']))
{
if($_POST['name']=='')
{
echo "<table border='1'><tr><td>Responses</td></tr></table>";
echo "Empty";}
else
{
echo "<table border='1'><tr><td>Responses</td></tr></table>";
echo "Saved!";}
}
答案 0 :(得分:1)
if(isset($_POST['Save'])) {
if(is_array($_POST['name'])) {
$result = 'Full!'; // Result defaults to 'Full!'
// But if we find an empty value we change it to 'Empty!'
foreach($_POST['name'] as $value){
if($value === ''){
$result = 'Empty!';
break;
}
}
// Output the response
?>
<table border="1"><tr><td>Response</td></tr></table>
<?=$result?>
<?php
}
}
答案 1 :(得分:0)
if(isset($_POST['Save']))
{
if(is_array($_POST['name']))
{
$full = 0;
foreach($_POST['name'] as $Value){
if($Value == '')
{
$full = ++;
}
}
}
echo "<table border='1'><tr><td>Response</td></tr></table>";
echo $full == 0 ? "Full" : "Empty" //Shorthand if notation
}
您必须运行检查,然后在循环外输出响应。
答案 2 :(得分:0)
您不需要循环,使用array_search
来判断数组中是否有空元素。
if (array_search('', $_POST['name'])) {
$result = 'Empty!';
} else {
$result = 'Full!';
}
echo '<table border="1"><tr><td>Response</td></tr></table>';
echo $result;