gpt4 book ai didi

javascript - 动态创建表单栏杆

转载 作者:行者123 更新时间:2023-11-30 08:48:34 26 4
gpt4 key购买 nike

我在页面上有多个按钮,根据单击的按钮,我想显示具有特定形式的模态视图。

我的想法:1) 我可以为每个按钮生成一个模态表单。但是我可能会有很多按钮,所以这很快就会变得低效。 2)我可以了解如何在使用 javascript 按下按钮后创建表单。这可能与 rails 相关吗?我想使用 form_tag 并根据单击的按钮传入对象或它的 id。

谢谢!

最佳答案

首先将每个表单 View 放在不同的partial(_form1.html.erb,_form2.html.erb,_form3.html.erb)中。让 View 中的每个按钮向 Controller 发送一个 Unobtrusive( http://railscasts.com/episodes/205-unobtrusive-javascript ) 请求,其中包含您要呈现的表单的参数。然后在 .js.erb 文件中,您根据从按钮发送的参数决定呈现哪个表单,然后将此表单附加到模态

my_view.html.erb

<%= link_to "Render Form1", my_controller_my_method_path(:form => "_form1",:object_type => "Object1",:object_id => '100'),:remote => true %>
<%= link_to "Render Form2", my_controller_my_method_path(:form => "_form2",:object_type => "Object2",:object_id => '144'),:remote => true %>
<%= link_to "Render Form2", my_controller_my_method_path(:form => "_form3",:object_type => "Object3",:object_id => '160'), :remote => true %>
<div id="#my_modal"></div>

my_controller.rb

def my_method
@form_partial=params[:form]
@object=params[:object_type].constantize.find(params[:object_id])
respond_to do |format|
format.js{render :action=>:my_method}
end
end

my_method.js.erb

$('#my_modal').html("<%= j render :partial => @form_partial %>");

_form1.html.erb

<%= form_tag @object do |form| =>
<%= form.input :name%>
<%end%>

关于javascript - 动态创建表单栏杆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19828573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com