Автоматическая отправка в Formtastic с использованием Jquery/Javascript
Я хочу иметь возможность автоматически отправлять мою форму, как только поле ввода 'studentnumber' достигнет 8., но я не очень знаком с jquery и не знаю, с чего начать. Я пытался сделать это сам, но насколько я понимаю, Jquery/javascript использует I d и класс?
Я также нашел следующую функцию и опробовал ее, но я думаю, что я делаю это неправильно.
$('#____').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 кнопки отправки в моем приложении, я просто закончил с использованием input[name="student[studentnumber] вместо #id И мне пришлось использовать. метод запуска вместо.submit, так как у меня было 2 представления на одной странице.
финальный сценарий выглядит так
$('input[name="student[studentnumber]"]').keyup(function(){
if($(this).val().length ==8)
$('input[name="commit"]').trigger('click');});
1 ответ
Я считаю, что вы на правильном пути, но вместо $("#___").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();
});
Кроме того, я хотел бы отметить, что, так как вы используете рельсы, вы должны использовать кофе. Это намного лучше.