我有一个提交表单的代码,只要我们在文本区域按Enter键就可以了......但是代码只能运行一次。每当我再次按Enter键提交它都不起作用。
这是我的javascript代码
$('.comment_ta').on("keypress" , function(e){
if (e.which == 13) {
$(this).closest('form').submit();
}
});
这里是表单和文本区域..代码在ruby n haml
=form_for( ([c,c.confessioncomments.build]), remote: true ) do |f|
.cmnt
=f.text_area :content class: "form-control comment_ta"
=f.submit 'Comment' , clasS:'btn btn-default cbtn'
现在它第一次运作良好,但每当我在提交后呈现新表单时,它都无法正常工作。
答案 0 :(得分:3)
试一试:
$(document).on('keypress', '.comment_ta', function(e){
if (e.which == 13) {
$(this).closest('form').submit();
}
});
我认为这是因为.comment_ta
元素在DOM中被替换,这意味着.on
事件侦听器将不再起作用。通过将事件侦听器应用于document
,事件侦听器应该继续工作。