【问题标题】:laravel button in blade template submitted multiple times刀片模板中的laravel按钮多次提交
【发布时间】:2016-08-30 17:52:42
【问题描述】:

我在刀片模板中有一些代码可以创建一些表单和按钮,见下文

<div class="element1">
<div class="text1">
<form action="{{ route("progressSheetDynamic") }}" method="post" id= "add">
<input name="increment" value="increment" type="hidden"> </input>
<input type="hidden" name="id" value= {{$activities}} >
<button type="submit" class="styleHover styleButton" id= {{$activities}} > + </button>
</form>

{{ $count  }} / {{  ($goal/5) }}
<form action="{{route("progressSheetDynamic") }}" method="post" id="delete">
<input type="hidden" name="delete" value="delete">
<input type="hidden" name="id" value= {{$activities}}>
<button type="submit" class="styleHover styleButton"> - </button>
</form>
</div>
</div>

我在视图文件中使用了 3 次 @include_layouts("template file") 来创建 3 次不同的按钮。当我单击一个按钮时,我希望触发一个 ajax 请求。相反,当前发生的是一个按钮单击显示为按钮单击并提交 ajax 请求 3 次不同的时间。 这是刀片文件中的相关javascript代码

$(document).ready(function(){

$('#add').click(function(e){
e.preventDefault();
var data = $(this).serialize();
$.post('progressSheetDynamic', data).done(function(response){
console.log(data);
});
});
});

我尝试了许多不同的方法,例如使用 jQuery 将按钮更改为单击后禁用,并在 jQuery 函数结束时返回 false。

但是,在每种情况下,一次点击都被解读为三个不同的点击。所以数据被记录到控制台三次。有什么办法可以让我单击一个按钮时它只注册为单击而不是单击 3?

【问题讨论】:

  • 虽然我已经在使用 id,但 {{$activities}} 是一个来自视图的变量,这会导致每个按钮的 id 不同。我将如何使用课程来解决我的问题?
  • 对表单使用类而不是 id
  • 我已经尝试过这种方法,但它不起作用。我也尝试将按钮的 id 更改为类,但效果不佳。

标签: php jquery ajax laravel laravel-blade


【解决方案1】:

您在表单点击时触发了ajax,在按钮点击时尝试一下

$(document).ready(function(){

$('.styleButton').click(function(e){
e.preventDefault();
var data = $(this).closest('form').serialize();
$.post('progressSheetDynamic', data).done(function(response){
console.log(data);
});
});
});

【讨论】:

  • 不幸的是,这也给了我同样的结果
  • 将此代码放在任何循环之外并放在页面底部
  • 我这样做并得到了相同的结果。为了清楚起见,刀片文件中的按钮在视图中被重新创建了三次。我让它在没有 ajax 的情况下工作。
  • 这段代码放在部分视图还是主视图中?
  • 它在局部。通过将所有代码放在主视图中,我让它在没有部分文件的情况下工作。但是现在我正在尝试使用部分文件来避免多次重写相同的代码
猜你喜欢
  • 2013-04-29
  • 1970-01-01
  • 2013-09-09
  • 2017-04-03
  • 2018-05-31
  • 1970-01-01
  • 2018-04-17
  • 2014-02-05
相关资源
最近更新 更多