2010-01-20 175 views
3

我有TextboxButton(Next和Previous)显示在Lightbox。 当前我的页面在点击回车键后重新加载。 我不希望发生这种情况。jquery - 停止页面重新加载

我想要的是,当我点击回车键时,应该点击“下一步”按钮,而不需要页面重新加载,它位于灯箱后面。

我用下面的代码,但在Next按钮都reloadclick正在发生:

$("input").bind('keyup', function(event){ 
    if(event.keyCode == 13){ 
     $("#nextbtn").trigger('click'); 
    } 
    event.preventDefault(); 
    return false; 
}); 
+0

看到这个职位 http://stackoverflow.com/questions/155188/trigger-button-click-with-javascript-on-enter-key-in-text-box – sathish 2010-01-20 05:59:34

回答

5

确保您的输入按钮是按钮的类型,而不是提交

<input type='button'> 

那就试试这个如果keycode是13,那么它会调用nextbtn点击事件,然后使其变为false,这样它就不会重新加载。

$("input").bind('keyup', function(event){ 
    if(event.keyCode == 13){ 
     $("#nextbtn").click(); 
     return false; 
    } 
}); 
0

认沽只要你触发下一步按钮返回以下虚假陈述:

$("input").bind('keyup', function(event){ 
    if(event.keyCode == 13){ 
     $("#nextbtn").trigger('click'); 
     return false; 
    } 
    event.preventDefault(); 
}); 
0

如果我正确理解你,我想你只需要调整您的收藏夹设置为使用iFrame的。如果您只是使用标准DOM元素,表单提交将触发页面加载。另一种方式是使用jquery.form插件来完成AJAX表单提交。

0

问题出在别的地方。据我所知,页面正在重新加载,因为按钮在窗体中,浏览器将它作为提交按钮。请注意,这发生在click事件上,而不是keyup。你可以做两件事:

首先。将click事件分配给返回false的按钮。其次。将输入事件更改为keypress而不是keyup,然后再添加一行:e.stopPropagation()