【发布时间】:2012-07-27 15:25:26
【问题描述】:
我有一个带有两个输入字段的登录 div。将检查每个输入字段是否有错误。
当我提交数据时出现了一些问题。这是 HTML:
<div class="small">
<?php if (!isset($errors['a'])):?>
<input type="text" id="a" name="a" value="<?php echo isset ($_POST['a'])? $_POST['a'] : 'Login'; ?>"/>
<?php endif;?>
<?php if (isset($errors['a'])):?>
<input class="log-error" type="text" id="a" name="a" value="<?php echo isset ($_POST['a'])? $_POST['a'] : 'Login'; ?>"/>
<?php endif;?>
</div>
<?php if (isset($errors['a'])):?>
<?php echo "<div id='errordiv'></div><div class='error'>";
echo $errors['a'][0];
echo "</div>";
endif;?>
<div class="small">
<?php if (!isset($errors['b'])):?>
<input type="text" id="b" name="b" value="<?php echo isset ($_POST['b'])? $_POST['b'] : 'Password'; ?>"/>
<?php endif;?>
<?php if (isset($errors['b'])):?>
<input class="log-error" type="text" id="b" name="b" value="<?php echo isset ($_POST['b'])? $_POST['b'] : 'Password'; ?>"/>
<?php endif;?>
</div>
<?php if ( ( isset($errors['b']) ) && (empty($errors['a'][0]) == true) ):?>
<?php echo "<div id='errordiv'></div><div class='error'>";
echo $errors['b'][0];
echo "</div>";
endif;?>
提交数据时,输入类不会同时显示两个错误。似乎值标签导致了这个问题。
当我从两个输入字段中删除 value-tag 时,它将同时显示两个输入字段的错误输入类。
【问题讨论】:
-
哦,我同意,代码缩进被高估了。
-
你双闭输入标签
/>/> -
&& (empty($errors['a'][0]) == true)在显示“b”错误消息的条件下不是您的问题吗?我的意思是这似乎表明如果出现“a”错误,您对显示“b”错误消息不感兴趣吗? -
@ghbarratt 抱歉,刚刚回答...没有看到您的评论;(
-
@thecatontheflat - 实际上你的答案出现在我的评论之前 - 但就在我能够阅读它之后。如果我们是对的,那么您的答案就是 OP 所需要的。
标签: php html class input error-handling