【发布时间】: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