javascript - 没有刷新的 Rails 提交表单,:remote => true

标签 javascript ruby-on-rails forms submit

我试图在不刷新页面的情况下在 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/

相关文章:

javascript - 在鼠标松开之前在下部 Canvas 上渲染画笔描边

jquery - link_to_remove_association 没有删除?

ruby-on-rails - Rails 文件上传错误 "undefined method ` original_filename' for nil :NilClass"

javascript - 显示与将作为 php 接收的输入不同的值

javascript - 带变量查询的 AJAX 调用 (POST)(纯 JavaScript)

html - 以相同方式对齐 &lt;input&gt; 和 <option> 标签

javascript - 如何用 Jquery 替换文本?

javascript - 将数组与 JavaScript 中的数组集进行比较

javascript - Highcharts 条形图将数据标签格式化为百分比并添加文本

ruby-on-rails - 未捕获的未知 cloud_name