[英]Render form partial on click, Rails
我似乎无法弄清楚这一点,我尝试了多个论坛。 当我使用javascript点击链接时,我想渲染一个表单。 有人可以展示一个如何做到这一点的基本例子吗?
只是为了澄清@Luan Nico
答案,因为你只需要在你的控制器中不做任何额外的渲染表单, 如果你把你的表单放在div标签中然后切换该div以显示你点击按钮时会更好 。
固定:
一种。 制作div并将表单放入其中
<div id="myForm">
<%= render "your_form" %>
</div>
湾 用css隐藏div
#myform {
display:none;
}
C。 创建链接以显示您的来自 :
<%= link_to "Your button","#", id: "yourButton" %>
d。 在assets / javascript / application.js中写下你的js或者创建一个新文件 ,然后在application.js里面输入
$(document).on("click","#yourButton",function(){
$(#myform).show();
});
假设单击按钮时表单没有改变,只需将其可见性切换,您可以将整个表单放在div中,给它一个id,然后你可以使用jquery:
$('#my-button').click(function (){
$('#div-id').toggle();
});
其中my-button是HTML中按钮的id,而div-id是HTML中的div id(类似于<button id="my-button">Click me</button>
和<div id="div-id"><!-- form --></div>
)。 或者如果你没有jquery(getElementById等),你也可以使用普通的JS。
如果表单略有变化,您也可以使用此技术,但您需要添加一些条件。 否则,您将不得不使用AJAX来获取当前数据。
只是一个警告,尽量避免通过ajax调用传递整个表单HTML,最好的方法是通过json提供数据,并使用JS用数据填充HTML。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.