用JQuery添加嵌套窗体“;未捕获的SyntaxError:意外的令牌ILLEGAL“;

Adding a Nested Form with JQuery "Uncaught SyntaxError: Unexpected token ILLEGAL"

本文关键字:SyntaxError ILLEGAL 令牌 意外 添加 JQuery 嵌套 窗体      更新时间:2023-09-26

我正在使用Rails3和JQuery,并试图通过单击按钮将嵌套表单附加到我的主表单中。如果没有javascript,表单和嵌套表单就可以正常工作。我希望只有当用户单击按钮时才能添加嵌套表单。他们还可以通过多次单击按钮来添加许多嵌套表单。

在另一个线程上,有人说要使用ajax调用"onclick正在浏览器中执行,所以你无法在其中使用erb。你需要对服务器进行ajax调用(.load是一个方便的快捷方式),在那里你可以使用erb渲染部分,以获得所需的html返回。"

有人知道我该怎么做吗?

我的javascript文件就是这样的

$(document).ready(function() {
    $("#add-family-button").click(function(){
    var form = "<div class='form-group col-xs-3'>
      <%= f.fields_for :users, @new_user do |ff| %>
        <%= label_tag :first_name %>
        <%= ff.text_field :first_name, placeholder: 'First Name' %>
        <%= label_tag :last_name %>
        <%= ff.text_field :last_name, placeholder: 'Last Name' %>
      <% end %>
    </div>";
        $("#child-forms-div").append(form);
    });
 });

我的表格是

<%= form_for(@family) do |f| %>
  <form class = 'form-horizontal' role = 'form'>
    <div class='form-group'>
      <%= f.label :name %>
      <%= f.text_field :name, placeholder: @family.name %>
    </div>
    <button type="button" id="add-family-button" class="btn btn-warning">Add Family Member</button>
    <div id="child-forms-div" class='form-group'>
    </div>
    <div class='actions'>
      <%= f.submit %>
    </div>
  </form>
<% end %>

Jquery适用于所有其他函数。错误是针对javascript第3行,它是

var form = "<div class='form-group col-xs-3'>

未捕获的SyntaxError:意外的令牌非法

如果要创建多行字符串,则需要在每行的末尾放置一个''。否则,将循环代码全部放在一行中。