2014-06-15 3 views
1

js onclick 이벤트로 양식을 제출하는 방법은 무엇입니까? 나는 Laravel 4.1을 사용하고있다. Laravel의 js onclick 이벤트로 데이터 제출

는이 코드

@foreach ($items as $item) 
    <li> 
     {{ Form::checkbox('items', $item->id , $item->done, ['onClick'=> 'this.form.submit()']) }} 
     {{ $item->name }} 
    </li> 
@endforeach 

을 시도했지만 내가 원하는 것을 얻을 수 없습니다.

Uncaught TypeError: Cannot read property 'submit' of null

이 사람이 나를 도와 드릴까요 : 나는 다음과 같은 오류가 발생했습니다 크롬 콘솔의 방법으로

public function postIndex() 
{ 
    $id = Input::get('id'); 
    echo $id; 
} 

: 나는 다음과 같은 코드를 컨트롤러에서 ?

+0

는'form' 안에 이것이다 :

나는 이런 식으로 할 것인가? –

답변

1

내가 아는 한,보기에는 하나 이상의 태그가 없어야합니다. 제출 이벤트를 트리거하려면 ajax를 사용하는 것이 좋습니다. 그러나 하나의 양식 열기 태그가 없어도 확인란 만 사용하면됩니다.

정보가 더 필요할 수도 있지만 체크 박스를 클릭하면 컨트롤러에 데이터를 제출해야한다는 것을 알고 있습니다.

// Your view 
<!-- CSRF Token --> 
    <input type="hidden" name="_token" value="{{{ csrf_token() }}}" /> 
<!-- ./ csrf token --> 

@foreach ($items as $item) 
<input type="checkbox" name="{{$item->id}}" id="{{$item->id}}" value="{{$item->done}}" class="checkbox_click"> 
@endforeach 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.checkbox_click').click(function(){     
      var currentValue = $(this).attr("value"); 
      $.ajax({ 
       url: 'your/route', 
       method: 'post',    
       data: {id: currentValue, _token: $('input[name="_token"]').val()}, 
       success: function(data){ 
        alert(data); 
       }, 
       error: function(){}, 
      }); 
     });   
    }); 
</script> 

// Your controller 
public function postIndex() 
{ 
    if (Request::ajax) 
    { 
     $id = Input::get('id'); 

     return Response::json($id); 
    } 
} 

// Your routes.php 
Route::post('your/route', [email protected]); 
관련 문제