我有一个表单,当用户选择创建一个新帐户时呈现。在app / views / accounts / new.js.erb中,我有一些JS渲染表单。
$("#freeze_container").find('table > tbody > tr:first').after("<%= j(render(partial: "accounts/form", locals: { account: @new_account }))%>")
这就是部分看起来的样子:
<tr class='new-account'>
<%= form_for(account, :remote => true, class: "account-form") do |f| %>
<td>
<span class="category">
<%= f.select :category, Account::CATEGORIES %>
</span>
</td>
<td>
<span class="institution">
<%= f.text_field :institution %>
</span>
</td>
<td>
<span class="name">
<%= f.text_field :name %>
</span>
</td>
<% end %>
</tr>
然而,这正确呈现,当我输入表单字段的值并按输入时,没有任何反应。当我查看日志时,看起来我没有采取任何行动。我做错了什么?
答案 0 :(得分:2)
要使输入密钥有效,您需要input
type=submit
。
您可以在代码中添加一个简单的submit
按钮,并使用CSS隐藏它,或者更好的选项,更干净,适用于所有浏览器,您可以使用JavaScript并在表单上监听输入键被按下。请参阅this SO accepted answer,例如jQuery就可以做到这一点。