У меня есть почтовая форма ajax, например
- form_remote_tag :url=>mails_path,:condition=>"validate_mail()", :html => {:id=>"mailform",:method => :post, :class => 'ajax',:style=>"padding:15px;" } do |form|
.gimmespace
Naam
%br
= text_field_tag :name,params[:name],:class=>"title required"
.gimmespace
Telefoonnummber
%br
= text_field_tag :phone,params[:phone],:size=>25,:class=>"title"
.gimmespace
Mailadres
%br
= text_field_tag :email,params[:email],:size=>30,:class=>"title required"
.gimmespace
Onderwerp
%br
= text_field_tag :subject,params[:subject],:class=>"title required"
.gimmespace
Boodschap
%br
= text_area_tag :message,params[:message],:rows=>10,:cols=>45,:class=>"title required"
.gimmespace
= submit_tag "Verstuur",:id=>"mailsubmit",:class=>"sendBtn"
%button{:onclick=>"$.fn.colorbox.close();"} Annuleer
Приведенный выше код находится в HAML. Он заставляет форму ajax отправляться контроллеру. Я должен проверить поля перед отправкой. Итак, я попробовал несколько вещей. Я прочитал эту статью http://hillemania.wordpress.com/2006/09/18/rails-ajax-pre-submit-form-validation/ и сделал обратный вызов перед тестовой функцией javascript для проверки. Вот функция проверки javascript.
function validate_mail() {
alert("Your Name, Email, Subject and Body Content are Required !");
return false;
}
Согласно приведенной выше функции, она в любом случае возвращает false, и форма не должна быть отправлена, но она отправляется хорошо ajaxly. Есть ли другой способ, пожалуйста, помогите.