我有一个允许用户发表评论的表单。这是我的提交操作:
<%= semantic_form_for([@project, step, step.comment_threads.build]) do |f| %>
<%= f.text_area :body %>
<%= f.actions do %>
<%= f.action :submit, :label=>"Comment", :button_html => {:class=> "btn btn-small btn-primary commentSubmit", :disable_with => "Comment"} %>
<% end %>
<% end %>
如果用户尝试提交空评论,我将禁用表单提交。但我无法在用户在评论框中输入文本后重新启用它。 (当我点击评论按钮时,表单没有提交)。这是我的 JavaScript:
$('.commentSubmit').click(function(){
var comment = $(this).parents('form').children('.field').find('textarea').val();
console.log('comment: ' + comment);
if(comment.length == 0){
alert('Cannot post an empty comment');
$(this).parents('form').submit(false);
}else{
console.log('submitting form');
$(this).parents('form').submit();
}
});
最佳答案
我最终做的是,如果用户尝试提交带有空评论的表单,则返回 false。它非常适合我!
$('form.comment').submit(function(){
var comment = $(this).children('.field').find('textarea').val();
if(comment.length == 0){
alert('Cannot post an empty comment');
return false;
}else{
$(this).find('.commentSubmit').attr('disabled', true);
}
});
关于javascript - 在 Rails 中使用 JQuery 禁用和重新启用表单提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19867430/