Ruby on rails 在ajax提交后清除文本字段
我正在提交一个与ajax的链接。一切正常,但当表单重新加载时,我无法清除文本字段 表格如下:Ruby on rails 在ajax提交后清除文本字段,ruby-on-rails,ajax,Ruby On Rails,Ajax,我正在提交一个与ajax的链接。一切正常,但当表单重新加载时,我无法清除文本字段 表格如下: <%= simple_form_for [question, Link.new], :remote => true, html: {id: "new_link"} do |f| %> <%= f.input :description, as: :text, input_html: { :class => "createcomment" } %> <%= f.
<%= simple_form_for [question, Link.new], :remote => true, html: {id: "new_link"} do |f| %>
<%= f.input :description, as: :text, input_html: { :class => "createcomment" } %>
<%= f.button :submit, "Post", class: "button" %>
<% end %>
在links_save.js.erb文件中
ajax:complete事件处理程序防止部分和表单重新加载并使用.val(“”);所有内容都将清除并重新加载,但不清除描述字段。轻松修复
在create.js.erb中,我必须将最后一行移到倒数第二行上方,如下所示:
$('.button').append("<%= j (render :partial => 'comments/newlink') %>");
$('#linkpartial').html("<%= j (render :partial => 'comments/newlink') %>");
$('.createcomment').val('');
$('#linkform').reset("<%= j (render :partial => 'links/form') %>");
$('.button')。追加('comments/newlink')%>”;
$('#linkpartial').html('comments/newlink')%>”;
$('.createcomment').val('');
$('#linkform')。重置(“'links/form')%>”;
您的第一次尝试应该成功了。您在create.js.erb中使用其他js代码做什么?它会着火吗?如果确实如此,那么您是否在浏览器控制台中看到任何错误?无需替换整个输入,只需获取DOM id并清除要清除的文本字段即可。您是否执行了控制台.log
以确保您的完成处理程序正在运行?不确定原因,但将最后一行移到上一行就可以了。
$('#link_description').val('');
$('.createcomment').val('');
$('.button').append("<%= j (render :partial => 'comments/newlink') %>");
$('#linkpartial').html("<%= j (render :partial => 'comments/newlink') %>");
$('.createcomment').val('');
$('#linkform').reset("<%= j (render :partial => 'links/form') %>");