0

在 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>

因为我绝不是一名网络开发人员,只是一名设计师,而且由于教程和 Stack Overflow 上陌生人的帮助,我让这个表单工作至今,我很困惑为什么我的错误消息总是出现,不管是否一个部门是否被选中。帮助表示赞赏。谢谢!

4

1 回答 1

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>
于 2013-10-21T13:40:05.537 回答