2011-05-12 3 views
2

Я использую ruby ​​on rails 3. с UJS и jquery Я пытаюсь создать форму AJAX. Как известно, форма остается как нормальная форма, даже если она добавлена ​​только в data-data => true.Проверка в реальном времени с помощью ajax & rails 3

Форма проверяется «на лету» для данных remote-data => true, а затем выполняет и ajax-запрос.

Теперь Как выполнить проверку в реальном времени после нажатия кнопки отправки.

Что я хочу - Когда нажата кнопка отправки, все валикации должны выполняться на стороне клиента, а затем, если все идеально, я хочу, чтобы форма была отправлена. Если есть какие-либо простыни, форма не должна быть отправлена.

Идея?

+1

Посмотрите на это: http://railscasts.com/episodes/263-client-side-validations Даже лучше, чем вы предлагаете imho. – iceydee

+0

Спасибо. Я знаю этот путь. Но я хочу проверить только, когда нажата кнопка. –

+1

Я бы копал код javascript этого драгоценного камня и переопределял его своим собственным клиентским кодом. Части валидации действительно хороши и должны быть достаточно легкими для изменения, учитывая динамическую природу javascript. – iceydee

ответ

2

Я попытался сделать это так все формы, которая является удаленной проверки формы, если поля являются действительными. Если поля верны, возвращает true из ajax: перед отправкой else возвращает false.

$('.remote_form').live('ajax:beforeSend', function(event, elements){ 

if(validate_fields(this)) 
{ 
     return true; 
} 
else 
    return false; 
     }); 

Примечание: Validate_fields является пользовательской функцией для проверки на наличие валидаций.

1

Заканчивать это два сообщения:

При проверке плагин из коробки «onSubmit» отзывчивые.

С помощью учебника следует также выполнить адакс-проверку. http://docs.jquery.com/Plugins/Validation http://sleekd.com/tutorials/jquery-validation-in-ruby-on-rails/

Смежные вопросы