在新服务器上重新安装Rails应用程序。部分应用程序可以根据用户选择的按钮在两个方向中的某一方向进行分叉。这部分不起作用,并且当我查看日志时,我看到了我给出的表单的值,除外,其余部分为params散列的commit
部分。这似乎是应用程序无法按预期工作的原因(因为params[:commit]
中没有任何内容,但我不知道为什么提交不会传入;请求肯定是POST请求,并且所有其他参数都在那里。Rails未通过“提交”按钮参数
回答
曾与禁用按钮上提交特征的simular问题。在提交表单之前,我们通过添加具有相同名称和值的隐藏输入字段来解决此问题。
function disableButtonAndSubmit()
{
var input = $("<input type='hidden' />").attr("name", $(this)[0].name).attr("value", $(this)[0].value);
$(this).closest('form').append(input);
$(this).attr('disabled', 'disabled').html('Loading…');
$(this).closest('form').submit();
}
$('#somewhere button').click(disableButtonAndSubmit);
我之前看过类似这样的东西,在不同的浏览器如何通过表单上的提交按钮的值不一致的情况下,我发现唯一实用的解决方案是在按钮中设置javascript以设置隐藏字段,并使用该值,而不是
下面是我的一些代码到一个区分保存并退出,肚里的一种方式,并保存并继续哪去了另一个:
<%= hidden_field_tag 'step_commit', '' %>
<span style="float:left;">
<%=submit_tag 'Cancel', :name=>'cancel', :onclick=>"javascript:location.href='/';return false;" %>
<%=submit_tag 'Save and Exit', :name=>'exit', :onclick=>"javascript:$('step_commit').value='exit';" %>
</span>
<span style="float:right;">
<%=submit_tag 'Save and Continue', :name=>'continue', :onclick=>"javascript:$('step_commit').value='continue';" %>
</span>
奇怪的是它在旧的服务器上工作正常,但我们现在只是将它移动并停止。 – 2010-01-04 16:29:38
检查您的提交输入是否被命名为提交,或者它的标签将不会被发送。
生成的HTML应该是:
<input type="submit" name="commit" label="...>
我遇到了同样的问题,这里的答案指出我正确的方向。但是,并非建议添加隐藏表单输入或放弃双重提交块,您可以简单地在双提交块中添加一个setTimeout函数,超时时间为1毫秒,这使得双提交块可以在不阻止的情况下工作提交按钮。
这只是我需要的解决方案。谢谢! – 2015-01-05 23:15:37
只需添加name: "commit", value: "Save"
到您的表单提交按钮:
form_for @object do |f|
...
f.button :submit, "Save", name: "commit", value:"Save"
end
,然后你将有params[:commit]
等于"Save"
在控制器中。
- 1. 我可以通过按钮在Rails 4中提交参数吗?
- 2. 通过AJAX提交按钮
- 3. 表单未按提交按钮提交
- 4. 如何通过表单上的提交按钮传递参数
- 5. 如何通过提交按钮传递参数?
- 6. 通DataBinder的值通过提交按钮
- 7. Rails:提交按钮不提交值
- 8. Rails通过提交参数传递参数
- 9. Rails Submit按钮不提交
- 10. Ruby on Rails提交按钮
- 11. 窗体上按钮提交只通过
- 12. 通过提交按钮传递值?
- 13. 表单不通过JavaScript提交按钮
- 14. 在Rails中禁用提交按钮的URL参数?
- 15. 如何通过JQuery提交表单时点击提交按钮
- 16. 通过isset禁用提交按钮并提交表格
- 17. 通过trigerring提交表单jQuery提交按钮不起作用
- 18. 通过ajax表单提交防止默认提交按钮
- 19. 通过点击CSS按钮提交/检测提交表单
- 20. 通过父页面提交按钮提交iframe和父窗体
- 21. 通过AJAX通过单个提交按钮提交多个HTML表单
- 22. 提交过早的按钮
- 23. 自动提交形式提交按钮参数
- 24. 弹簧形式:在提交按钮上提交额外参数
- 25. 如何在mvc4中通过提交按钮传递自定义参数
- 26. Rails fields_for未通过所有参数
- 27. 提交不提交按钮
- 28. 提交按钮不提交
- 29. 提交按钮不提交
- 30. 提交按钮不提交
您是否找到了解决方案?自从我使用我的网页设计师更新我的模板后,我遇到了类似的问题。使用'基本'模板,全部是文件,但使用设计器(HTML有效)模板,我没有提交提交值。 – 2010-01-05 12:13:47
在我的情况下,这是因为实际提交表单之前有一个jQuery弹出窗口。 – 2010-01-05 14:04:49
感谢您的评论韦恩,这让我感到这是为什么造成我的。就我而言,我们有一个通用的jQuery提交事件绑定,它禁用了提交按钮(以避免双重提交)。从这个表格中删除固定的东西。 – chrisrbailey 2010-01-28 22:46:41