12 ruby forms ruby-on-rails submit
我正在尝试编写一个rails应用程序,它允许你转到某个页面,比如/ person /:id.在此页面上,它显示了一组可用资源.我希望每个资源旁边都有一个按钮,它将该资源保留给该人(通过创建一个新的分配模型实例.)作为扩展,我想要每个资源的几个按钮,取消预订并做其他事情.我还想在一些按钮旁输入数据,例如分配一些资源.
我的问题是我无法解决如何在不重复自己或拥有非常黑客的控制器的情况下明智地做到这一点.如何在不匹配提交按钮的值部分(按钮上的文本)或使用任何javascript的情况下执行此操作?
此外,如果页面上有两个表单,如何设置它,以便在单击任何提交按钮时保存两个表单上的更改?
小智 5
即时通讯使用jQuery,这就是我做的:
<script type="text/javascript">
$(document).ready(function() {
$('#bulk_print').click(function(){
var target = '<%= bulk_print_prepaid_vouchers_path(:format => :pdf) %>';
$('#prepaidvoucher_bulk_print').attr('action', target);
$('#prepaidvoucher_bulk_print').submit();
});
$('#bulk_destroy').click(function(){
var target = '<%= bulk_destroy_prepaid_vouchers_path %>';
$('#prepaidvoucher_bulk_print').attr('action', target);
$('#prepaidvoucher_bulk_print').submit();
});
});
</script>
<% form_tag '#', :method => :post, :id => 'prepaidvoucher_bulk_print' do %>
your form details
<button class="button" type="submit" id="bulk_print">
<%= image_tag("web-app-theme/printer.png", :alt => "Print Selected Vouchers") %> Print Selected Vouchers
</button>
<button class="button" type="submit" id="bulk_destroy">
<%= image_tag("web-app-theme/cross.png", :alt => "Delete Selected Vouchers") %> Delete Selected Vouchers
</button>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我们的想法是根据点击的按钮动态更改表单操作
将列表中的每一行设为一个表单,并将有关相关项目的信息放在那里。当然,您需要在每次操作时提交并重新加载页面。解决这个问题的唯一方法是使用复选框而不是按钮,并使其成为一种大形式 \xe2\x80\x94 或使用 Javascript。
\n\n至于你的第二个问题,如果你想让一个提交按钮影响两个“表单”,你应该让它们成为同一个表单的一部分。如果需要,您可以在表单上有多个提交按钮。否则,您可以使用 Javascript 动态生成第三个表单,其中填充原始表单 \xe2\x80\x94 中的值,但这并非在所有情况下都有效(例如,文件输入)。
\n 归档时间: |
|
查看次数: |
13634 次 |
最近记录: |