【发布时间】:2011-08-06 01:10:00
【问题描述】:
我有一个基本的 PHP 表单,提交时会发送电子邮件:
<div id="contact">
<form id="contact_form" action="<?=base_url()?>contact/email_form" method="post" name="contact">
<h4>Questions? Comments?</h4>
<p>
<label>Name</label>
<input name="name" id="name" type="text" class="text" />
</p>
<p>
<label>Email</label>
<input name="email" id="email" type="text" class="text" />
</p>
<p class="message">
<label>Question</label>
<textarea name="message" id="message" rows="5" cols="5"></textarea>
</p>
<p class="alt">
<input value="Send Info" id="submitbutton" type="submit">
</p>
</form>
此表单运行良好,但我目前没有验证,因此即使字段为空白也提交表单。难道不能用jquery做验证吗?
一旦提交表单,它就会发布到 codeigniter 中的控制器文件,该文件使用 codeigniter 中的电子邮件帮助程序执行电子邮件发送逻辑。见这里:
if($this->email->send())
{
echo 'Message has been sent';
}
else
{
show_error($this->email->print_debugger());
}
如您所见,这会重定向到 email_form 视图并回显结果。是否可以只停留在具有表单的同一个联系页面上并在那里显示帖子的结果,而不是重定向到<?=base_url()?>contact/email_form 视图?我正在考虑将提交按钮的文本更改为“已发送消息”或类似的内容,然后清除表单字段。这样他们就可以留在联系页面上。
这一切都可以用 jquery 实现吗?谢谢!
【问题讨论】:
标签: php jquery codeigniter