在XHTML文档中为“联系我们”页面创建了一个表单。如果未填充/选择已加星标的表单,则会出现错误消息,并且除了一个输入框之外,它适用于每个输入框。
这是错误消息无效的下拉形式:
<div class='container'>
<label for='destemail' >Select department you're trying to reach:
<font style="color:#f93; margin-left:-2px; ">*</font></label></br>
<select name="destemail" id="destemail">
<?php foreach ($emailAddresses as $name => $email) { ?>
<option value="<?php echo htmlspecialchars($destemail); ?>">
<?php echo htmlspecialchars($name) ; ?></option>
<?php } ?>
</select>
<span id='contactus_destemail_errorloc' class='error'></span>
</div>
每当我测试表单时,无论是否在此处选择部门,都会显示错误消息“请选择部门”。我只需要显示如果某个部门实际上没有被选中。
这是PHP:
if(empty($_POST['destemail']))
{
$this->add_error("Please select a department.");
$ret = false;
}
这是Javascript:
<script type='text/javascript'>
// <![CDATA[
var frmvalidator = new Validator("contactus");
frmvalidator.EnableOnPageErrorDisplay();
frmvalidator.EnableMsgsTogether();
frmvalidator.addValidation("destemail","req","Please select a department.");
// ]]>
</script>
因为我不是一个Web开发人员,只是一个设计师,而且由于教程和Stack Overflow上的陌生人的帮助,我得到了这个表格,我很困惑为什么我的错误信息不断出现无论是否选择了部门。感谢帮助。谢谢!
答案 0 :(得分:1)
我认为正是因为这一点,你对电子邮件的价值是一个未定义的变量,所以它将通过空:<option value="<?php echo htmlspecialchars($destemail); ?>">
只需更改为
<select name="destemail" id="destemail">
<?php foreach ($emailAddresses as $name => $email) { ?>
<option value="<?php echo htmlspecialchars($email); ?>">
<?php echo htmlspecialchars($name) ; ?></option>
<?php } ?>
</select>