2013-10-21 39 views
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> 

因为我任何我不是指一个Web开发人员,只是一个设计师,我得到这个形式因而工作由于教程和Stack Overflow上的陌生人的帮助,我很困惑,为什么我的错误消息不断显示,无论是否选择了部门。帮助表示赞赏。谢谢!

回答

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> 
+0

这种固定的错误消息的问题,但现在每次我填写表格并按下“发送”时,就表示我没有选择一个部门,因为这个PHP位于我的文档顶部。这如何影响它无法发送? if(isset($ _ POST ['name'])){ifset($ emailAddresses [$ _ POST ['destemail']]){ exit(“Sorry,you have not selected a department。”) ; “我试着将这些代码排除在外,但是在页面上什么也没有显示出来。 @spacebean – KateG

+0

我想你只是想说if(!isset($ _ POST ['destemail')),对吗?它们的写法是在emailAddresses数组中寻找email(作为键)。 – spacebean

+0

完美工作!谢谢@spacebean – KateG