Получение текущего поля ввода формы

Здравствуйте. Реализую дерево комментариев, нужна проверка, что пользователь ввел текст в поле для ввода комментария. Как сделать проверку только для одного поля (на котором пользователь попытался отправить пустой комментарий), а не для всех полей ввода, которые есть на странице (к сожалению автоматически проверяются на пустоту все поля)? Вот html.erb, где находится форма
<div class="margin-comment"> 
 <%= form_for код-код-код, remote: true do |f| %>

 <div class="f">ответить
 <div class="answer"> 
 <div class="form-group">
 <%= f.label :text, 'Ваш ответ' %>
 <%= f.text_field :text, class: 'form-control' %> 
 </div>

 <%= f.submit 'Ответить', class: 'btn btn-default' %>
 </div>
 </div>

 <% end %>
 </div>
<span></span>
Вот код jQuery:
$(document).ready(function() {
 $("input[type=submit]").click(function(e) {
 if ($(".form-control").val() == "") {
 $("span").text("Вы не ввели текст!").show().fadeOut(5500);
 e.preventDefault();
 }
 });
});
Пробовал указывать this, но так ничего не работает. UPDATE: Указал this в двух местах
$("form").submit(function(e) {
 if ($(".form-control", this).val() == "") {
 $("span", this).text("Вы не ввели текст!").show().fadeOut(5500);
 e.preventDefault();
 }
 });
И подправил html.erb, тег span внес в форму. Однако появились новые проблемы: сворачивание и разворачивание формы для ввода реализовано через jQuery, вот код:
$(document).ready(function() {
 $(".answer").hide();

 $(".f").click(function(e) {
 if(e.target == this) { 
 $(".answer", this).toggle();
 }
 });
Когда я разворачиваю любую из форм, и нажимаю на submit независимо от того ввел я текст или нет, то автоматически разворачиваются все формы! И свернуть их обратно без перезагрузки страницы уже нельзя! Если попытаться отправить пустой текст из этих полей, то js код, который должен проверить наличие текста в поле - не выполняется. Но отправка непустых комментариев работает. В чем может быть проблема? UPDATE 2 Забыл сказать: добавление комментариев происходит через Ajax. Вот код:
$("#comments").html("<%=j render partial: 'comments/comment', collection: @post.comments %>");
2 ответа

Пробовал указывать this, но так ничего не работает.
Логично, this в данном случае указывает на submit. Попробуйте следующим образом:
$(this).parent().find('.form-control').val()


Логично, this в данном случае указывает на submit. Попробуйте следующим образом:
$(this).parent().find('.form-control').val()
Я исправил эту проблему, но приведенный вами код тоже работает, спасибо А вот насчет моей новой проблемы (см. UPDATE) вы что нибудь знаете? Ах да, забыл сказать: добавление комментариев происходит через Ajax.