Laravel 给 html 一个独特的 url

Laravel giving a html form a unique url

在我的 blade 中,我有一个名为 $jobs 的字段。我正在尝试根据 $job->id 为每个表单提供唯一的 url。所以 url 是 jobs/$job->id。但是,当我单击 a 标签以提交表单时,所有 urls 显示 jobs/the last $job->id。在我的例子中,所有 url 都显示 job/386。我应该怎么做才能让每个 url 都有一个唯一的 url?这是我的代码。

@foreach($jobs as $job)
    <form method="post" action="{{url('jobs/'. $job->id)}}" id="start-jobs">
                  {{csrf_field()}}
       <a onclick="document.getElementById('start-jobs').submit()">( start )</a>
    </form>
@endforeach

这实际上是一个 JavaScript 问题,而不是 Laravel 问题。

您的所有表单都具有相同的 ID(这实际上无效 HTML),这就是为什么 getElementById('start-jobs') 让您成为最后一个。如果您需要所有表单的标识符,请使用 class 而不是 id

看来您应该可以只使用常规提交按钮而不是您正在使用的提交按钮 link。

@foreach($jobs as $job)
    <form method="post" action="{{url('jobs/'. $job->id)}}" class="start-jobs">
                  {{csrf_field()}}
       <input type="submit" value="( start )">
    </form>
@endforeach