2016-07-06 2 views
0

모달 상자를 동적으로 채우는 데 사용하는 일부 데이터를 캡처하는 Javascript 기능이있는 Laravel 앱이 있습니다.자바 스크립트 : Laravel 앱의 양식 작업 필드에 사용할 값 캡처

보기 파일에서 필드를 업데이트하는 양식이있는 모달 상자가 있습니다. 그 대신 '경매/auctionId/업데이트'에 '경매/1/업데이트'또는 '경매/2/업데이트'

어떻게 보내려고 시도로 위의 코드를 사용하여

<div id="edit-auction-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
     <div class="modal-dialog"> 
      <div class="modal-content"> 
       <div class="panel panel-info"> 
        <div class="panel-heading"> 
        <div class="panel-title" id="auctionLabel"></div> 
        </div> 
       </div> 
       <div class="modal-body edit-content" style="padding-top:10px"> 
        <form method="POST" action="{!! route('admin_auctions_update', ['id' => auctionId ]) !!}"> 
         {{ csrf_field() }} 
         {{ method_field('PUT') }} 
         .... 
        </form> 

, 아무것도 업데이트되지됩니다 내보기에서 auction0id (JS 파일의 값) 값을 사용할 수 있도록이 값을 변경할 수 있습니까?

답변

1

이 뭔가를 시도 할 수 ... 내가 생각하지만 내 JS 능력이 평균 이하 아주 사소한해야합니다

$(function() { 
    $('#edit-auction-modal').on("show.bs.modal", function (e) { 
     var auctionId = $(e.relatedTarget).data('id'); 
     var pattern = /(auctions\/)(.+)(\/update)/; 
     var action = $('form').attr('action'); 
     $('form').attr('action', action.replace(pattern, "$1" + auctionId + "$3")); 
    }); 
}); 

설명 :

뷰입니다 서버 측을 처리하고 원래 브라우저로 전송 된 html을 정의합니다. 이 시점을 지나서 PHP 코드를 실행하지 마십시오. auctionId클라이언트 측 이벤트의 결과로 존재하므로 action 속성을 수정하는 유일한 도구는 JavaScript입니다.

그래서보기에는 이미 JS 스크립트가 포함되어 있다고 가정합니다. 또한 원래 작업을 {!! route('admin_auctions_update', ['id' => 0 ]) !!} (기본 자리 표시 자 값으로 0)으로 작성할 수 있습니다.

마지막으로 정규 표현식 설명 : 괄호는 캡처 그룹을 정의한 다음 번호로 액세스 할 수 있습니다. 따라서 첫 번째 문자열은 교체 할 id 앞에있는 문자열 내용을 포함하고 두 번째 문자열은 id 자체를 포함하고 세 번째 문자열은 문자열의 나머지 부분을 포함합니다.

+0

의견을 보내 주셔서 감사합니다. 뷰 파일에 무엇이 필요합니까? 그것은 바로 이것일까요?

? 내가 이해할 수 있도록 : 1 달러와 3 달러는 무엇입니까? – wiwa1978

+0

@ wiwa1978 대답 업데이트 – alepeino

+0

나는 원리를 얻는다. 코드가 액션을 동적으로 업데이트해야하지만, 항상 원래 액션 (id = 0)을 사용하는 것 같습니다. console.log (작업)를 추가했습니다. JS 파일의 명령문은 항상 http : // localhost : 5000/admin/auctions/0을 로그 아웃합니다. – wiwa1978

관련 문제