开发者

validation before ajax form submission

How do i introduce validation before remote_form_for submits?

I have javascript function called validateForm(). I am able to call it before the AJAX request process. I tried to use return false and event.preventDefault. But there seems to be no effect. Here is what my code looks like

<% remote_form_for :customer, :update =>"uxScreenLoaderDiv", :url => {:action => "login", :controller => "site"},  :onsubmit => "validateFo开发者_JAVA百科rm(event)" do |f| %>
    User name : <%= f.text_field "uxUserName", :class => "TextBox", :style => "width:100px;" %>&nbsp;*
    &nbsp;Password : <%= f.password_field "uxPassword", :class => "TextBox", :style => "width:100px;" %>&nbsp;*
    <%= f.submit "Go!", :class => "Button-Simple", :id => "uxSubmitButton" %>   
<% end %>

the javascript function is simple as follows

function validateForm(event){
   return false;
   //event.preventDefault();
}


Try this

<% remote_form_for :customer, :update =>"uxScreenLoaderDiv", :url => {:action => "login", :controller => "site"}, :html => {:id => "uxLoginForm"}, :onsubmit => "return validateForm(event)" do |f| %>

i.e. change

 :onsubmit => "validateForm(event)

to

 :onsubmit => "return validateForm(event)

EDITED it should be

<% remote_form_for :customer, :update =>"uxScreenLoaderDiv", 
         :url => {:action => "login", :controller => "site"}, 
         :html => {:id => "uxLoginForm", :onsubmit => "return validateForm(event)"} 
         do |f|
 %>

EDITED AGAIN

WHY don't you use :condition for it? something like following

<% remote_form_for :customer, :update =>"uxScreenLoaderDiv", 
         :url => {:action => "login", :controller => "site"}, 
         :html => {:id => "uxLoginForm"},
         :condition=>"validateForm(event)!=false"
         do |f|
 %>


I think what you're looking for is something like onSubmit="return validateForm(this)" or thereabouts. Then if the validation returns false (because it failed validation) the form should not submit.


You might want to check LIvevalidation plugin (http://github.com/augustl/live-validations) which you can you to do Ajax with active record validations

And its always good to have non-ajax validations also (even though you use ajax validations) as ajax will not work in javascript disable browser

cheers, sameera

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜