rails 4.1.6 form_for coffeescript在多个视图上不起作用
rails 4.1.6 form_for coffeescript on multiple views not working
我可以用一个视图(/users/new.html.erb)显示我的coffeescript错误消息:
<h1> Sign up! </h1>
<%= form_for (@user) do |f| %>
<%= f.label :email %><p class="error email-error"></p>
<%= f.email_field :email %>
<%= f.submit "Sign Up", class: 'btn' %>
<% end %>
和一个coffeescript文件(/users.js.coffee):
ready = ->
$('form').submit ->
$('.error').text ''
email = $('#user_email').val()
if email == ''
$('.email-error').text 'Please enter your email.'
false
return
$(document).ready(ready)
$(document).on('page:load', ready)
但是当我尝试添加第二个视图(/sessions/new.html.erb)时,两个表单的错误消息都不会显示:
<h1> Log In </h1>
<%= form_for(:session, url: login_path) do |f| %>
<%= f.label :email %><p class="error email-error"></p>
<%= f.email_field :email, :id => "session_email" %>
<%= f.submit "Log In", class: 'btn' %>
<% end %>
和coffeescript文件(/sessions/js.coffee):
main = ->
$('form').submit ->
$('.error').text ''
email = $('#session_email').val()
if email == ''
$('.email-error').text 'Please enter your email'
false
return
$(document).ready(main)
$(document).on('page:load', main)
我知道coffeescript最终是由rails编译成一个文件的,所以它不知道我引用的是哪个"表单"。但当我尝试在表单中添加id标签时,我甚至无法让一个表单工作。我在这件事上已经坚持了两天,一直想不通。如有任何帮助,我们将不胜感激。谢谢
在"mu太短"的帮助下,我能够在两个表单上都显示错误消息。问题是.submit()绑定到一个表单并阻止它绑定到第二个表单。添加.unbind()修复了这个问题:
ready = ->
$('form.new_user').submit ->
$('.error').text ''
email = $('#user_email').val()
if email == ''
$('.email-error').text 'Please enter your email.'
$('form').unbind('submit')
false
return
$(document).ready(ready)
$(document).on('page:load', ready)
与第二个咖啡脚本文件:
main = ->
$('form.s_login').submit ->
$('.error').text ''
s_email = $('#session_email').val()
if s_email == ''
$('.email-error').text 'Please enter your email'
$('form').unbind('submit')
false
return
$(document).ready(main)
$(document).on('page:load', main)
相关文章:
- node.js/javascript/couchdb视图到关联数组似乎不起作用
- 带有粘性标题的角度ng视图不起作用
- rails 4.1.6 form_for coffeescript在多个视图上不起作用
- 如果视图中没有Jquery脚本引用,Unobtrusive Javascript Validation是不起作用的
- 网格视图页眉冻结在母版页中不起作用
- 挖空.js嵌套视图模型不起作用
- Angular 1.3+ui路由器+生成器ng poly嵌入嵌套(?)视图不起作用
- 在更改事件处理程序中(重新)呈现主干视图不起作用
- 角度 UI 路由器嵌套视图不起作用
- 页面重新加载后,主干单视图不起作用
- 主干中的简单视图不起作用
- UI路由器状态的多个视图不起作用.未报告错误
- 使用Jquery、MVC和Json更新多个部分视图不起作用
- AngularJS中的嵌套视图不起作用
- 共享控制器时视图不起作用
- Angular的ng视图不起作用
- 带有name属性的离子导航视图不起作用
- Asp.net MVC使用Ajax从PartialView的actionlink加载父视图不起作用
- 选项卡视图不起作用
- Angular Js -改变视图不起作用