Tôi có một biểu mẫu có thể được sử dụng cả từ xa lẫn bình thường.Làm thế nào để tôi ngừng gửi biểu mẫu từ xa?
= form_for @comment, html: { class: 'comment-form' }, remote: request.xhr? do |f|
= f.text_area :body
= f.submit
Tôi muốn các mẫu này để gửi chỉ khi body
textarea có nội dung:
$(document).on 'submit', '.comment-form', (e) ->
text = $(this).find('#comment_body').val()
false if text.length < 1
Đó là mã hoạt động khi các hình thức không phải là Ajax. Nhưng khi nó ở xa, nó không thành công và biểu mẫu vẫn gửi. Tại sao? Tôi cũng đã thử:
if text.length < 1
e.preventDefault()
false
Tôi đang sử dụng Rails 4 với Turbolinks.
Cập nhật: tôi đã cố gắng liên kết các sự kiện ajax:beforeSend
, nó vẫn nộp:
$(document).on 'page:load', '.comment-form', ->
$(this).bind 'ajax:beforeSend', ->
alert "hi"
Tôi thấy không có cảnh báo ...
'bắt buộc: true' thêm thuộc tính HTML5 không hoạt động trên một nửa trình duyệt. Nó không đáng tin cậy. Ít nhất là không vào lúc này. – user2630970
điều cần biết! Chúc mừng. – Miotsu