2017-05-01 9 views
0

フォーム内に2つの送信ボタンがあり、特定の操作をトリガーするためにどちらを使用するのかを検出する必要があります。残念ながら、私のチェックは送信ボタンをどの検出されていませんが、クリックされた:Laravel要求ファサードが複数の送信ボタンを検出していない

フォーム:I出力$requestが、私はcompleteを見ることができます

public function updateAudit(Request $request, $id) 
{ 
    .... 

    if ($request->has('complete')) { 
     $auditCompleteCheck->completed = 1; 
     $auditCompleteCheck->save(); 
    } 

} 

場合:

<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> 

コントローラ送信ボタン:"complete" => ""、同様に保留中:"pending" => ""

ただし、dd($request->has('complete'));の場合、常にはリクエストバッグに表示されていますが、falseを返します。

->hasの点検がなぜ機能しないのですか?

多くのありがとうございます。

+0

[ '')(持っている](https://github.com/laravel/フレームワーク/ BLOB/5.4/src/Illuminate/Http/Concerns/InteractsWithInput.php#L88)メソッドは空の入力のキーに対して常にfalseを返します。 – jfadich

答えて

3

属性nameの値をbuttonの要素と、値が異なる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 
} 
+0

ルイフィッシャーありがとう! – Ben

関連する問題