У меня есть базовая форма 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? Спасибо!