我有一个我当前id的隐藏字段的模式,我需要。
我需要在我的模式中点击一个按钮来确认我是否应该删除一个用户。我设置了一个表单,不确定这是否是最好的选择,并在javascript中将表单的属性设置为路由,但是路由没有找到正确的路径,尽管在URL中它显示正确,我遗漏了什么,也许路由应该是PHP而不是JS?
<div class="modal" id="mdelete" role="dialog" aria-labelledby="moddelete">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="moddelete">Confirm Delete</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>Are you sure you want to delete</p>
</div>
<div class="modal-footer">
<form method="POST" id="formdelete">
<input type="hidden" name="txtid" id="txtid" />
<input type="text" name="uid" id="uid" />
<button type="button" class="btn btn-danger " data-dismiss="modal">No</button>
<span class="text-right">
<button type="submit" class="btn btn-primary btndelete">Yes</button>
</span>
</form>
</div>
</div>
<a href="{{ route('users.show', $user->id) }}" class="btn btn-primary mr-2">Show</a>
<a href="{{ route('users.edit', $user->id) }}" class="btn btn-info text-white mx-2">Edit</a>
<button type="button" class="btn btn-danger ml-2" data-toggle="modal"
data-target="#mdelete" data-id="{{$user->id}}"
data-name="{{$user->username}}">Delete</button>
$(document).ready(function() {
$('#mdelete').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
var userid = button.data('id');
var uname = button.data('name');
var modal = $(this);
modal.find('#txtid').val(userid);
modal.find('#uid').val(userid);
modal.find('.modal-body').text('Are you sure you want to delete ' + uname);
})
$('#formdelete').submit(function() {
var userid = $('#txtid').val();
$('#formdelete').attr("action", "route('$users.destroy',$user->"+ userid +")");
$('#formdelete').submit();
});
});发布于 2019-03-09 11:31:32
您尝试生成路由将失败,因为您没有正确使用模板:
$('#formdelete').attr("action", "route('$users.destroy',$user->"+ userid +")");
您可以尝试让您的路由接受可选的用户字段,然后生成指向它的路由,并使用js附加用户ID值,如下所示:
<script>
$(function() {
var form = $('#formdelete');
var path = '{{ route("users.destroy") }}';
$('#formdelete').submit(function(event) {
var form = $(this);
var userid = form.find('#txtid').val();
$('#formdelete').attr("action", path + '/' + userid);
$('#formdelete').submit();
});
});
</script>https://stackoverflow.com/questions/55073645
复制相似问题