2015-12-08 29 views
0
頁面

我在Laravel製作PUT無刷新

{!! Form::open(array('url' => '/'.$cpe_mac.'/device/'.$device_mac.'/update', 'class' => 'form-horizontal', 'role' =>'form','method' => 'PUT')) !!} 

     <span class="pull-left"> 
      <div class="col-sm-6"> 
       <p>Downlink </p> 
       <select type="text" class="form-control" name="max_down" > 
        @foreach ($rate_limit as $key => $value) 
        <option value="{{$value or ''}}">{{$value or ''}} Kbps</option> 
        @endforeach 
       </select> 
      </div> 
      <div class="col-sm-6"> 
       <p>Uplink</p> 
       <select type="text" class="form-control" name="max_up" > 
        @foreach ($rate_limit as $key => $value) 
        <option value="{{$value or ''}}">{{$value or ''}} Kbps</option> 
        @endforeach 
       </select> 
      </div> 
     </span><br> 


     {!! Form::hidden('cpe_mac', $cpe_mac)!!} 
     {!! Form::hidden('device_mac', $device_mac)!!} 



     <span class="pull-right"> 
      <button class="saveRateLimitBTN btn btn-xs btn-info pull-right">Save</button> 
     </span> 


{!! Form::close();!!} 

刀片形式我想做出不刷新我的網頁一個Ajax的HTTP PUT。 我的表單應該如何?

現在,它一直將我重定向到url/update,然後將其重定向回去。

如何在後臺將所有這些數據發送到我的控制器?

對此的任何提示/建議將是一個巨大的幫助!

+0

您添加一個按鈕,將調用一個函數(而不是提交表單)。該函數將進行AJAX調用。在通話中,您可以決定您想要成功和失敗的場景。 – tanjir

+0

當然,我會從那開始。但是,我是否從Laravel的表單向我的控制器發送了價值?我希望你不介意多說一點。 – ihue

+0

這是關於如何填充值並將正確的PUT請求發送到服務器的javascript問題的更多內容。在laravel服務器端,您需要處理請求。在瀏覽器中,您可以在單擊按鈕後填充值,也可以使用數據綁定。 – tanjir

回答

1

通常我會將我的表單放置在一個帶有數據關閉按鈕的模式彈出窗口中,該按鈕在您點擊提交併在後臺運行所有內容後會關閉。

對於你的情況,在點擊提交按鈕後沒有刷新頁面而提交提交後,看起來有點奇怪不是嗎?

但是這裏有點jQuery的的讓你去任何一種方式:

$("#mySubmitButton").on('click', function(event){ 

    var form = '#myForm'; 

    $.post($(form).attr('action'),$(form).serialize()); 

}); 

添加ID到您的窗體:

{!! Form::open(array('url' => '/'.$cpe_mac.'/device/'.$device_mac.'/update', 'class' => 'form-horizontal', 'role' =>'form','method' => 'PUT', 'id' => 'myForm')) !!} 

添加ID到您的按鈕:

<button id="mySubmitButton" class="saveRateLimitBTN btn btn-xs btn-info pull-right">Save</button> 

將TYPE添加到您的按鈕(以防止提交/刷新);

<button type="button" id="mySubmitButton" class="saveRateLimitBTN btn btn-xs btn-info pull-right">Save</button> 

如果你的路線是正確的設置導致您的控制器,那麼所有你的表單輸入變量,現在都可以通過$請求或輸入訪問:點擊後

public function processForm(Request $request) 
{ 
    $variable1 = $request->input('myforminputname1'); 
    $variable2 = $request->input('myforminputname2'); 

    // Or get it through Input 
    $variable1 = \Input::get('myforminputname1'); 
    $variable2 = \Input::get('myforminputname2'); 
} 
+0

如何在我的控制器中訪問我的表單數據? – ihue

+0

如果刷新完成,您可以像常規一樣訪問它。我更新了我的答案。 – dmotors