表单未在 Rails 中使用不显眼的 javascript 提交

Posted

技术标签:

【中文标题】表单未在 Rails 中使用不显眼的 javascript 提交【英文标题】:Form is not getting submitted with unobtrusive javascript in rails 【发布时间】:2014-04-21 19:50:05 【问题描述】:
<%= form_for(current_user, url: update_my_profile_path, :method => :post, remote: true ) do |f| %>

   First Name: <%= f.text_field :firstname, value: current_user.firstname %>
   Last Name: <%= f.text_field :lastname, value: current_user.lastname %>
   Phone No. <%= f.text_field :phone, value: current_user.phone  %>

<%= f.submit  'update details', remote: true  %>

在我的 javascript 文件中验证:

 $("#personal_profile_update form").validate(

        rules: 
                firstname:  //validation rule ,

                lastname:  //validation rule 

                , // End of the rules

      messages:      // End of the messges section
);

这里的验证效果很好。但是当我尝试在表单和 f.submit 中使用 remote: true 选项提交表单时,它不会被提交。 一旦我删除了这个 jquery.validate,这个表单就会使用 remote: true 选项提交。

有什么方法可以提交这个表单,远程:true 选项被应用验证规则激活???

【问题讨论】:

【参考方案1】:

这是讨论here 和Judge gem 用于客户端验证。 RailsCasts 有一整集关于使用客户端验证 gem。

【讨论】:

以上是关于表单未在 Rails 中使用不显眼的 javascript 提交的主要内容,如果未能解决你的问题,请参考以下文章

Rails - Ajax 与不显眼的 javascript Jquery UI 进度条

Ruby on Rails 复选框未在提交表单时更新

在 Django 中是不是有一种惯用的方法来编写不显眼的 JavaScript 和/或进行 AJAX 表单提交?

jQuery 不显眼的表单验证器在重置表单时不会隐藏错误消息

使用 Select2 ASP.NET MVC 时进行不显眼的验证

对 en-GB 日期进行不显眼的验证