搜索结果中断删除操作

时间:2016-08-13 20:04:33

标签: laravel laravel-5.2

我有一个显示广告系列的页面。我不会显示所有代码,但基本结构是这样的

@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') || &quot;Are you sure you want to do this?&quot;)) { $(this).find(&quot;form&quot;).submit(); } } else { $(this).find(&quot;form&quot;).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>

所以我的主要问题是为什么会发生这种情况?我还想尝试找出为什么删除按钮的搜索版本也会带你到显示页面?

任何建议表示赞赏

由于

0 个答案:

没有答案