我试图在不刷新页面的情况下在 Rails 中提交表单。我一直在网上四处寻找,但似乎添加 :remote => true 似乎并没有像我想象的那样改变我的形式。现在我的每个问题都有多个答案,每个问题都连接到一个单选按钮,但我隐藏了单选按钮,因此单击标签本身会提交表单。页面是否因单选按钮表单提交而刷新?我真的不确定,希望能在这一点上提供任何帮助...
<%= form_for(uanswer, :remote => true) do |f| %>
<% answers.each_with_index do |answer, i| %>
<% unless answered_flag %>
<%= f.radio_button :answer_id, answer.id, :class => "radio hide",
:onclick => "this.form.submit();" %>
<% end %>
<%= f.label :answer_id, answer.answer, :class => "answer",
:value => answer.id %>
<% end %>
生成的 HTML 表单大致如下所示:
<form accept-charset="UTF-8" action="/uanswers" class="new_uanswer"
data-remote="true" id="new_uanswer" method="post"><div
style="margin:0;padding:0;display:inline"><input
name="utf8" type="hidden" value="✓"><input name="authenticity_token"
type="hidden" value="PY5ACVmrvDnt/iYF8RK6O7tDKAn2G2dFdLeBNZw5MJ4="></div>
</form>
最佳答案
当您使用 this.form.submit() 绕过 rails 时,remote=>true 现在没有为您做任何事情。您需要异步提交表单。参见 Submit form in rails 3 in an ajax way (with jQuery)对于类似问题的解决方案。
关于javascript - 没有刷新的 Rails 提交表单,:remote => true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16242124/