我有一个显示广告系列的页面。我不会显示所有代码,但基本结构是这样的
@foreach ($campaigns as $campaign)
{!! Form::open(array('class' => 'form-inline delete', 'method' => 'DELETE', 'route' => array('campaigns.destroy', $campaign->id))) !!}
<div class="panel panel-default">
@if (!empty($campaign->campaignName))
<div class="panel-heading campaignPanelHeading">
<h4>{{ $campaign->campaignName }}</h4>
</div>
<div class="panel-footer">
<a href="{{ route('campaigns.destroy', $campaign->id) }}" class="btn btn-danger" id="deleteCampaign" data-method="delete" data-token="{{ csrf_token() }}">
Delete
</a>
</div>
@endif
</div>
{!! Form::close() !!}
@endforeach
如果我尝试删除某个项目,则会触发以下内容。
$("#deleteCampaign").on("submit", function(){
return confirm("Do you want to delete this item?");
});
现在,在我显示所有广告系列的页面上,我有一个搜索框。您开始输入并显示自动完成列表。当您选择一个选项时,会触发此操作
select: function (event, ui) {
$.ajax({
url: "/returnDataForCampaigns",
type: "GET",
datatype: "html",
data: {
value : ui.item.value
},
success: function(data) {
$('.container').html(data.html);
$('.selectpicker').select2();
}
});
},
这实际上调用了一个获取所选Campaign的函数,并将其注入以下部分
@if(!empty($campaign))
{!! Form::open(array('class' => 'form-inline delete', 'method' => 'DELETE', 'route' => array('campaigns.destroy', $campaign->id))) !!}
<div class="panel panel-default">
@if (!empty($campaign->campaignName))
<div class="panel-heading campaignPanelHeading">
<h4>{{ $campaign->campaignName }}</h4>
</div>
<div class="panel-footer">
<a href="{{ route('campaigns.destroy', $campaign->id) }}" class="btn btn-danger" id="deleteCampaign" data-method="delete" data-token="{{ csrf_token() }}">
<span class="glyphicon" aria-hidden="true"></span>
Delete
</a>
</div>
@endif
</div>
{!! Form::close() !!}
@endif
最后,将这些数据注入页面的容器中。现在一切正常。当我在注入后检查源时,一切看起来都是正确的。
我有两个其他按钮,我在上面删除了显示或编辑广告系列,这些工作正常。不起作用的是搜索到的广告系列的删除按钮。出于某种原因,当我点击它时,它会转到广告系列展示页面。当我显示所有广告系列时,此按钮有效,仅当执行搜索时它才起作用。
我检查了删除按钮的代码,以显示所有广告系列与搜索广告系列的对比情况。除了显示所有广告系列以及一些隐藏输入时已应用于删除按钮的Javascript,所有内容都是相同的
<a data-token="dsfsd" data-method="delete" id="deleteCampaign" class="btn btn-danger" onclick=" if ($(this).hasClass('action_confirm')) { if(confirm($(this).data('message') || "Are you sure you want to do this?")) { $(this).find("form").submit(); } } else { $(this).find("form").submit(); }">
Delete
<form style="display:none" method="POST" action="http://localhost:8000/campaigns/43">
<input type="hidden" value="delete" name="_method">
<input type="hidden" value="dsfsd" name="_token">
</form>
</a>
这是一个搜索按钮
<a data-token="dsfsd" data-method="delete" id="deleteCampaign" class="btn btn-danger" href="http://localhost:8000/campaigns/9">
Delete
</a>
所以我的主要问题是为什么会发生这种情况?我还想尝试找出为什么删除按钮的搜索版本也会带你到显示页面?
任何建议表示赞赏
由于