【发布时间】:2023-03-08 13:06:01
【问题描述】:
注意: 存在类似的问题,但没有一个与我的情况相似
我在我的 Rails 视图中制作了一个带有是或否单选按钮的小型 Ajax 表单,我使用 remote: true 制作了这个表单,如果我使用单独的提交按钮,它可以正确地充当 Ajax(没有页面重新加载发生并且表单是传递给控制器)
如果我使用 Jquery 让单选按钮自己提交表单,那么它会提交但不会在 Ajax 中提交(但会重新加载页面)
那么如何解决这个问题:
单击 Ajax 中的 2 个单选按钮之一提交表单?
我尝试过的两件事:
1) 制作两个不同的提交按钮并尝试在提交 btn 本身中调整表单值,如果我将它们设置为提交按钮,Ajax 效果很好,但表单没有得到我需要的值
<div class="radio-button-btn-wrapper mr-2">
<%= f.submit t('yes'), recommended: true, class: "radio-button-btn-label-white background-green" %>
</div>
<div class="radio-button-btn-wrapper mr-2">
<%= f.submit t('no'), recommended: false, class: "radio-button-btn-label-white background-red" %>
</div>
2) 调整单选按钮以 Ajax 方式提交表单(试过了,但没有用)
<%= simple_form_for [...model names], remote: true do |f| %>
<div class="flex">
<div class="radio-button-btn-wrapper mr-2">
<%= label :recommended, t('yes'), class: "radio-button-btn-label white" %>
<%= f.radio_button :recommended, true, onclick: "$(this).closest('form').submit();", class: "radio-button-btn background-green" %>
</div>
<div class="radio-button-btn-wrapper">
<%= label :recommended, t('no'), class: "radio-button-btn-label white" %>
<%= f.radio_button :recommended, false, onclick: "$.ajax((this).closest('form').submit());", class: "radio-button-btn background-red" %>
</div>
</div>
【问题讨论】:
标签: javascript jquery ruby-on-rails ajax simple-form