繁体   English   中英

单击,Rails渲染表单部分

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM