一旦输入字段'studentnumber'达到8,我希望能够自动提交表单。 但我对jquery不太熟悉,我真的不知道从哪里开始。 我试着这样做我自己,但从我的理解Jquery / javascript使用Id和类?
我也找到了以下功能,并尝试了,但我认为我这样做是错误的。
$('#____').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个提交按钮我最后使用输入[name =“student [studentnumber]而不是#id 我必须使用.trigger方法而不是.submit,因为我在同一页面上有2个提交。
最终的脚本看起来像这样
$('input[name="student[studentnumber]"]').keyup(function(){
if($(this).val().length ==8)
$('input[name="commit"]').trigger('click');});
答案 0 :(得分:0)
我相信你是在正确的轨道上,但是你应该提交表单而不是点击某些内容而不是$("#___").click()
。
此外,在您的if
语句中,当您应该使用jQuery对象时,您正在使用DOM元素。 $(this)
而不是this
$("form#theForm").submit()
http://api.jquery.com/submit/
最终代码看起来像,
$('#text_field').keyup(function(){
if($(this).value.length ==8)
$('form#myForm').submit();
});
另外,我想要注意,因为你使用的是rails,你应该使用Coffee。它更好。