我正在编写一个Rails应用程序,让用户输入一个1位数的数字,并将该数字与"答案"进行比较。在数据库中查看是否正确。我希望比较立即发生,当用户在字段中输入数字时,我希望比较立即发生。
我目前设置的方式是用户必须输入数字并单击提交按钮来提交链接到控制器动作的表单,检查它是否正确。但是我想让它在用户输入时自动完成,而不需要提交按钮。
我当前的表单:
<%= form_with :controller => "tests", :action => "check_answer", remote: true, local: true, method: 'get' do |f| %>
<%= f.number_field :answer, :value => '' %>
<%= f.submit 'Submit' %>
<% end %>
理想情况下,我想做到这一点没有使用JavaScript或jQuery,但可以使用它,如果需要的话。如有任何帮助,不胜感激。
我看不到没有js的方法。试试这样写:
<%= f.number_field :answer, value: '', onchange: "this.form.submit()" %>
或者用onkeyup
代替onchange
。
你可以使用Stimulus自动保存,Stimulus是rails 7默认的js库。