2017-05-01 2 views
0

양식 내에 두 개의 제출 버튼이 있으며 특정 작업을 트리거하는 데 사용되는 버튼을 감지해야합니다. 불행하게도, 수표 버튼을 제출하는이 감지되지 않았 음을 클릭 한 :Laravel Request Facade가 여러 개의 제출 버튼을 감지하지 못합니다.

형태 : 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 동일한 값을 설정하고 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