【发布时间】:2014-05-11 23:30:48
【问题描述】:
我正在使用 form_for @user 提交注册。控制器通常在保存用户以重新加载页面时处理逻辑,但由于某种原因,使用 javascript 和 ajax 在保存和创建新用户时不会重新加载页面。
我假设我需要以某种方式实现此功能以在页面保存后重新加载页面?我一直在搞乱它,但我无法弄清楚仍然正确提交表单但之后还会重新加载页面的任何内容。
我目前已将底部部分注释掉,因此提交按钮现在实际上可以工作,但我无法重新加载页面。我知道有一个函数要重新加载,但我不知道如何将它放在下面的函数中,以便它实际上正确提交页面。
// $(".myform").click(function() {
// $.ajax({
// type : 'POST',
// url : '/', // like the "action" path on your form element
// data : $("myform").serialize(), // serialize your form data
// success : function(response){
// // the form was submitted successfully
// // so now you can reload with javascript
// location.reload();
// }
// });
// // stop default behavior of submitting the form
// return false;
// });
我要提交的表单是:
<%= form_for @user, :remote => true do |f| %>
<div id="msform">
<!-- multistep form -->
<!-- progressbar -->
<ul id="progressbar">
<li class="active">Part 1</li>
<li>Part 2</li>
</ul>
<!-- fieldsets -->
<fieldset>
<h2 class="fs-title">Part 1</h2>
<h3 class="fs-subtitle">Name/Email/Password</h3>
<%= f.text_field :username, :placeholder => "Your Name"%><br />
<%= f.text_field :email, :placeholder => "Email"%>
<%= f.password_field :password, :placeholder => "Password" %><br />
<input type="button" name="next" class="next action-button" value="Next" />
</fieldset>
<fieldset>
<h2 class="fs-title">Part 2</h2>
<h3 class="fs-subtitle">Your site name</h3>
<%= f.text_field :name, :placeholder => "What do you want to be called?"%><br />
<input type="button" name="previous" class="previous action-button" value="Previous" />
<input type="submit" name="submit" class="submit action-button" value="Submit" />
</fieldset>
</div>
<% end %>
【问题讨论】:
标签: javascript ruby-on-rails ajax forms ruby-on-rails-4