首页 > 解决方案 > 在控制器弹出窗口中显示的表单

问题描述

我制作了我想与称为公司控制器的控制器链接的表单,但是我在列表中添加了表单代码,它显示了整个代码在网页上的墨水

<li>
    <a href="#" onclick="
        var result = confirm('are you sure you want to delete this project?');
        if(result){
            event.preventDefault();
            document.getElementById('delete-form').submit();
        }
    ">
        Delete
    </a>
    <form id="delete-form" action="{{ route('companies.destroy',[$company->id]) }}" method="post"  style="display:none;">
    <input type="hidden" name="_method" value="delete">
    {{ csrf_field() }}
    </form>
</li>

在网页中,只有删除应该在该部分中可见,而不是代码的其他部分

标签: laravel-5

解决方案


首先,将您的 javascript 代码与 html 分开,使其易于理解且易于调试。尝试这个:

<li>
    <a href="#" onclick="delete()">Delete</a>
    <form id="delete-form" action="{{ route('companies.destroy',[$company->id]) }}" method="post"  style="display:none;">
    <input type="hidden" name="_method" value="delete">
    {{ csrf_field() }}
    </form>
</li>

<script type="text/javascript">
    function delete()
    {
        var result = confirm('are you sure you want to delete this project?');
        if(result){
            event.preventDefault();
            document.getElementById('delete-form').submit();
        }
    }
</script>

发现一些我纠正的错别字,也许这就是问题所在。此外,您可以很好地发送一个 ajax 而不是提交一个隐藏的表单,这只是一个想法。


推荐阅读