Laravel 请求外观未检测到多个提交按钮
Laravel Request facade isn't detecting multiple submit buttons
我在一个表单中有两个提交按钮,我需要检测哪一个用于触发特定操作。不幸的是,我的检查没有检测到点击了哪个提交按钮:
形式:
<button type="submit" name="complete">
<span class="btn-label">
<i class="glyphicon glyphicon-save"></i>
</span> Submit Audit
</button>
<button type="submit" name="pending">
<span class="btn-label">
<i class="glyphicon glyphicon-save"></i>
</span> Save Audit
</button>
控制器:
public function updateAudit(Request $request, $id)
{
....
if ($request->has('complete')) {
$auditCompleteCheck->completed = 1;
$auditCompleteCheck->save();
}
}
如果我输出 $request
,我可以看到 complete
提交按钮为:"complete" => ""
,与待处理类似:"pending" => ""
.
但是,如果我 dd($request->has('complete'));
,它 总是 returns 错误,即使我可以在请求包中看到它。
为什么 ->has
检查不起作用?
非常感谢。
尝试为两个 button
元素的属性 name
设置相同的值,并为属性 value
.
设置不同的值
HTML 部分:
<button type="submit" name="submit_audit" value="complete">
<span class="btn-label">
<i class="glyphicon glyphicon-save"></i>
</span> Submit Audit
</button>
<button type="submit" name="submit_audit" value="pending">
<span class="btn-label">
<i class="glyphicon glyphicon-save"></i>
</span> Save Audit
</button>
现在在您的控制器中,您可以执行以下操作:
if ($request->submit_audit === 'complete') {
// Do something
}
if ($request->submit_audit === 'pending') {
// Do something else
}
我在一个表单中有两个提交按钮,我需要检测哪一个用于触发特定操作。不幸的是,我的检查没有检测到点击了哪个提交按钮:
形式:
<button type="submit" name="complete">
<span class="btn-label">
<i class="glyphicon glyphicon-save"></i>
</span> Submit Audit
</button>
<button type="submit" name="pending">
<span class="btn-label">
<i class="glyphicon glyphicon-save"></i>
</span> Save Audit
</button>
控制器:
public function updateAudit(Request $request, $id)
{
....
if ($request->has('complete')) {
$auditCompleteCheck->completed = 1;
$auditCompleteCheck->save();
}
}
如果我输出 $request
,我可以看到 complete
提交按钮为:"complete" => ""
,与待处理类似:"pending" => ""
.
但是,如果我 dd($request->has('complete'));
,它 总是 returns 错误,即使我可以在请求包中看到它。
为什么 ->has
检查不起作用?
非常感谢。
尝试为两个 button
元素的属性 name
设置相同的值,并为属性 value
.
HTML 部分:
<button type="submit" name="submit_audit" value="complete">
<span class="btn-label">
<i class="glyphicon glyphicon-save"></i>
</span> Submit Audit
</button>
<button type="submit" name="submit_audit" value="pending">
<span class="btn-label">
<i class="glyphicon glyphicon-save"></i>
</span> Save Audit
</button>
现在在您的控制器中,您可以执行以下操作:
if ($request->submit_audit === 'complete') {
// Do something
}
if ($request->submit_audit === 'pending') {
// Do something else
}