проверка перед отправкой формы AJAX - PullRequest
2 голосов
/ 21 мая 2010

Как ввести проверку перед отправкой remote_form_for ?

У меня есть функция JavaScript, называемая validateForm () . Я могу позвонить до процесса запроса AJAX. Я пытался использовать return false и event.preventDefault . Но, похоже, никакого эффекта нет. Вот как выглядит мой код

<% remote_form_for :customer, :update =>"uxScreenLoaderDiv", :url => {:action => "login", :controller => "site"},  :onsubmit => "validateForm(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 %>

функция javascript проста следующим образом

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

Ответы [ 3 ]

2 голосов
/ 21 мая 2010

Попробуйте это

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

т.е. изменить

 :onsubmit => "validateForm(event)

до

 :onsubmit => "return validateForm(event)

РЕДАКТИРОВАНИЕ должно быть

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

отредактировано снова

ПОЧЕМУ вы не используете: условие для этого? что-то вроде следующего

<% remote_form_for :customer, :update =>"uxScreenLoaderDiv", 
         :url => {:action => "login", :controller => "site"}, 
         :html => {:id => "uxLoginForm"},
         :condition=>"validateForm(event)!=false"
         do |f|
 %>
1 голос
/ 21 мая 2010

Возможно, вы захотите проверить плагин LIvevalidation (http://github.com/augustl/live-validations), который вы можете использовать для Ajax с активными проверками записей

И всегда хорошо иметь не-ajax-валидации (даже если вы используете ajax-валидации), так как ajax не будет работать в браузере отключения javascript

веселит, Самира

1 голос
/ 21 мая 2010

Я думаю, что вы ищете что-то вроде onSubmit = "return validateForm (this)" или около того. Затем, если проверка вернет false (потому что она не прошла проверку), форма не должна отправляться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...