2015-07-03 80 views
0

在我的Rails应用程序中,我试图让用户通过让用户输入类别到类别为text_field的分类表单上的博客文章“标记”用户按空格键(这是可行的!)但是当我去提交页面时,我希望抓取标签并将其重新插入到表单中,这样当页面提交数据时可以正常保存。页面现在提交之后,才刚刚执行的点击收听...jQuery防止默认设置,做些什么,停止传播

var ready; 
ready = function() { 



function removeItem(event) { 
    event.preventDefault(); 
    $(this).parent().remove(); 
} 

$("#article_article_tags").keydown(function(e) { 
    if(e.keyCode == 32){ 
    var tag = $("#article_article_tags").val(); 
    $("#article-tags").append("<p class='new-tag'>" + tag + "<a class='remove' href='#'> x</a></p>"); 
    $("#article_article_tags").val("") 
    } 
}); 

$("#article-tags").on('click', '.remove', removeItem) 


$('.btn article-submit-button').click(function(event) { 
    event.preventDefault(); 
    $("#article_article_tags").val($('.new-tag').text()); 
    event.stopPropagation(); 
    }); 


}; 


$(document).on('page:change', ready); 
+0

你能改写这一行吗 - 点击侦听器只会在页面提交之后立即执行...... – nikhil

+0

我不确定你的意思...行$( '.btn article-submit-button')。click(function(event){'只有当我点击“submit”时才会执行,然后在下一页加载时再右键。 – jpn

+0

我不清楚这一行。那么可以改变话语说出来吗? – nikhil

回答

0

也许您要查找的submit而不是click事件,然后更改:

$('.btn article-submit-button').click(function(event) { 

到:

$('#your_form').submit(function(event) {