Ich habe ein Formular, das sowohl entfernt als auch normal verwendet werden kann.Wie kann ich das Senden eines Remoteformulars stoppen?
= form_for @comment, html: { class: 'comment-form' }, remote: request.xhr? do |f|
= f.text_area :body
= f.submit
Ich möchte das Formular nur einreichen, wenn der body
TextArea- Inhalt hat:
$(document).on 'submit', '.comment-form', (e) ->
text = $(this).find('#comment_body').val()
false if text.length < 1
Dieser Code funktioniert, wenn die Form nicht Ajax ist. Aber wenn es entfernt ist, schlägt es fehl und die Form wird noch übermittelt. Warum? Ich habe auch versucht:
if text.length < 1
e.preventDefault()
false
Ich verwende Rails 4 mit Turbolinks.
Update: Ich habe versucht, das ajax:beforeSend
Ereignisbindung, es legt nach wie vor:
$(document).on 'page:load', '.comment-form', ->
$(this).bind 'ajax:beforeSend', ->
alert "hi"
ich keine Benachrichtigung sehen ...
'required: true' fügt ein HTML5-Attribut hinzu, das nicht auf der Hälfte der Browser funktioniert. Es ist nicht zuverlässig. Zumindest nicht zu dieser Zeit. – user2630970
gut zu wissen! Prost. – Miotsu