【发布时间】:2013-08-31 16:10:27
【问题描述】:
我有一个可以远程正常使用的表单。
= form_for @comment, html: { class: 'comment-form' }, remote: request.xhr? do |f|
= f.text_area :body
= f.submit
我希望表单仅在body textarea 有内容时提交:
$(document).on 'submit', '.comment-form', (e) ->
text = $(this).find('#comment_body').val()
false if text.length < 1
该代码在表单不是 Ajax 时有效。但是当它是远程的时,它会失败并且表单仍然提交。为什么?我也试过了:
if text.length < 1
e.preventDefault()
false
我正在使用带有 Turbolinks 的 Rails 4。
更新:我尝试绑定ajax:beforeSend 事件,它仍然提交:
$(document).on 'page:load', '.comment-form', ->
$(this).bind 'ajax:beforeSend', ->
alert "hi"
我没有看到任何警报...
【问题讨论】:
标签: jquery ruby-on-rails coffeescript ruby-on-rails-4 ujs