0

Я хочу, чтобы авто-отправить мою форму после того, как поле ввода «studentnumber» достигнет 8. , но я не очень хорошо знаком с jquery, и я не знаю, где Начало. Я пытался сделать это сам, но из того, что я понимаю, JQuery/javascript использует Id и класс?Auto Submit в Formtastic с использованием JQuery/Javascript

Я также нашел следующую функцию и опробовал ее, но я думаю, что я делаю это неправильно.

$('#____').keyup(function(){ 
if(this.value.length ==8){ 
$('#___').click(); 
} 
}); 

Моя форма выглядит так.

<%= semantic_form_for [@event, @student] do |f| %> 
<%= f.inputs do %> 
<%= f.input :event, :label => "Select Your Event", :include_blank => false %> 
<%= f.input :studentnumber, :label => "Student Number", :input_html => {:autofocus => true} %> 
<% end %> 

<%= f.actions do %> 
<%= f.action :submit, :as => :input %> 
<% end %> 
<% end %> 

Любая обратная связь будет очень признательна. Заранее спасибо

Если какая-либо один ищем ответы, У меня был сделать несколько разных вещей, так как я был 2 кнопки отправки в моем приложении я просто в конечном итоге с помощью ввода [имя = "студент [studentnumber] вместо #id И я должен был использовать метод .trigger вместо .submit, так как я имел 2 подаёт на той же странице.

окончательный сценарий выглядит следующим образом

$('input[name="student[studentnumber]"]').keyup(function(){ 
if($(this).val().length ==8) 
    $('input[name="commit"]').trigger('click');}); 

ответ

0

Я считаю, что ты на правый трек, но вместо $("#___").click() вы должны отправить форму вместо этого щелкнуть что-нибудь.

Кроме того, в вашем операторе if вы используете элемент DOM, когда вы должны использовать объект jQuery. $(this) в отличие от this

$("form#theForm").submit() http://api.jquery.com/submit/

Окончательный код будет выглядеть,

$('#text_field').keyup(function(){ 
    if($(this).value.length ==8) 
    $('form#myForm').submit(); 
}); 

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

+0

Спасибо за ответ, я дам это попробовать как можно скорее – Pratik

+0

эй, так что я попытался сделать следующее «$ (» вход [имя = «студент [studentnumber]»] "). Нажатие клавиши (функция() { если ($ (this) .val(). length == 8) $ ('input [name = "commit"]'). trigger ('click'); }); ' Он работает, когда он достигает 9 символов Как я могу заставить его работать, когда он достиг 8? – Pratik

+0

NVM решила его с помощью функции Keyup – Pratik