我有get
路线,它返回一个包含数据的视图,该视图有一个表单(我使用LaravelColletive的html包),该表单有一个按钮< strong>那不是提交者,这个按钮有一个由jQuery触发的点击事件,它的作用是将一些元素附加到视图中。
我遇到的问题是,当我点击按钮重新加载页面时,会执行操作,但由于重新加载,页面表单没有任何价值。
这里是jquery行动
$("#completarseleccion").click(function(){
var btn_element = $(this);
//this is how you loop through your item and add it to a specific element
$(".opcion").each(function(){
if($(this).hasClass("clicked")){
$($(this).html()).append('#menuseleccionado');
}
});
});
实际上如果按钮没有动作,如果我点击它,它会重新加载页面......
我的申请是在laravel 5.0下 我怎么能解决这个问题?
答案 0 :(得分:0)
将event
添加到click函数参数中,然后在回调函数的顶部使用event.preventDefault();
$("#completarseleccion").click(function(event){
event.preventDefault();
var btn_element = $(this);
//this is how you loop through your item and add it to a specific element
$(".opcion").each(function(){
if($(this).hasClass("clicked")){
$($(this).html()).append('#menuseleccionado');
}
});
});
答案 1 :(得分:0)
我在这里猜测 - 您的提交按钮位于form
标记内。在这种情况下,您有选项:
<form>
标记
return false
处理程序或使用事件对象来说出e.preventDefault();
但是,如果您希望稍后提交表单,则在案例2中,您必须通过调用表单对象上的.submit()
函数以编程方式执行此操作。
答案 2 :(得分:0)
$("#completarseleccion").click(function(e){
e.preventDefault();
var btn_element = $(this);
//this is how you loop through your item and add it to a specific element
$(".opcion").each(function()
{
if($(this).hasClass("clicked"))
$($(this).html()).append('#menuseleccionado'); } }); });