0

我有一个带有表单的 new.html.slim 页面

_form.html.slim

= form_for  (@text_input), remote: true do |f|   
 .field
  = f.text_field :title
  ...

新的.html.slim

h1 new text_input
 == render 'form'
 ...
a.btn type='button' href = '#'
  | add another text input

单击按钮后如何使用 AJAX 向此页面添加另一个表单?

4

1 回答 1

0

首先,确定你需要 AJAX 吗?如果您只想添加另一个字段,请使用简单的 jQuery。

如果您需要来自服务器端的一些响应并且您确定 AJAX,请将 AJAX 请求编写为按钮的操作。要完成它,请将 id 添加到按钮

btn type='button' id='add_form_button'

在用于查看的 javascript 文件中,使用 AJAX 请求添加事件处理程序

$(function(){
   $("#add_form_button").click(function(){
       $.get("ajax/result",function(content){
           #in this function should be placement of new form
           #For example, as that
           $("#place_for_field").append(content);
       }
   }
}

您应该将“ajax/result”路由到控制器和函数。在 config/routes.rb

 get 'ajax/result', to: "controller_name#function_name"

在具有 controller_name 的控制器中,在具有 function_name 的函数中写入逻辑和响应。此外,您将需要该功能的视图。

于 2013-10-19T11:28:25.460 回答