Php 删除laravel中带有modal的项目
我的项目旁边有一个删除按钮,每当单击按钮时,它会显示一个弹出模式以供确认。我希望模式中的“是”按钮在单击该按钮时删除项目 我使用@include将模态调用到projects/show视图中。当使用以下jquery单击按钮时,模式确实会出现,但按下时的“是”按钮不会删除项目Php 删除laravel中带有modal的项目,php,jquery,laravel,routes,bootstrap-modal,Php,Jquery,Laravel,Routes,Bootstrap Modal,我的项目旁边有一个删除按钮,每当单击按钮时,它会显示一个弹出模式以供确认。我希望模式中的“是”按钮在单击该按钮时删除项目 我使用@include将模态调用到projects/show视图中。当使用以下jquery单击按钮时,模式确实会出现,但按下时的“是”按钮不会删除项目 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$(".delete").on("submit", function(e){
e.preventDefault();
$('#myModal').modal('show');
});
});
项目旁边的“删除”按钮:
{!! Form::open(['route' => ['projects.destroy', $projects->id], 'class' => 'delete', 'method' => 'DELETE']) !!}
{!!Form::button('<span class="glyphicon glyphicon-remove"></span>', ['class' => 'btn btn-danger btn-md', 'type' => 'submit'])!!}
{!! Form::close() !!}
模态代码:
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog modal-md" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title text-center" id="myModalLabel">Delete Confirmation</h4>
</div>
<div class="modal-body text-center">
Are you sure you want to delete this project?
</div>
<div class="modal-footer">
<button type="submit" id="delete-btn" class="btn btn-default" >Yes</button>
<button type="button" class="btn btn-primary" data-dismiss="modal">Cancel</button>
</div>
</div>
</div>
</div>
项目控制器:
<?php
namespace App\Http\Controllers;
use App\project;
use App\Http\Requests;
use Illuminate\Http\Request;
use Session;
class ProjectsController extends Controller
{
public function destroy($id){
$project = Project::find($id);
$project->delete();
Session::flash('success', 'The project was successfully deleted!');
return redirect()->route('projects.show', $project->project_id);
}
}
将模式中的“提交”按钮更改为:
{!! Form::open(['route' => ['projects.destroy', $projects->id], 'class' => 'delete', 'method' => 'DELETE']) !!}
<button type="submit" id="delete-btn" class="btn btn-default" >Yes</button>
{!! Form::close() !!}
最好的解决方案是删除您现在拥有的delete按钮的实现,并使其成为普通按钮。让该按钮弹出模式,并用实际的删除按钮替换您的“是”按钮,就像我上面所做的那样。到底是什么问题?问题是,每当我在模式中单击“是”按钮时,它什么也不做,我正在查看此按钮以删除项目。您引用的是路线“projects.destroy”,该路由做什么?@Loek该路由位于设置为删除的projectscontroller中。啊,您的JavaScript正在拦截您对该路由的请求,并显示一个模式框。因此,实际上什么都没有发生。我不知道足够的JavaScript来提供工作代码,但是您应该确保当模式中的submit按钮被单击时,请求实际上到达了路由。我已经将该代码添加到我的模式中,并且我得到了一个未定义的变量-projects。尽管我已经在show.blade.php文件中包含了模态文件。哦,等等,你当然包括了模态文件。如果将模态复制到加载的视图中?没问题!我确信有一种方法可以让你的语气更具包容性,但在这方面我帮不了你;我有一个简短的问题。即使它以错误的顺序删除项目,lol它也不会按项目id删除??如何传递id。