2016-09-13 8 views
0

ここで私はデータベースに保存したいのですが、テキストエリアから値 'isi'を取得していますが、関数を実行すると常にtextareaからnull値が得られます。ありがとう。 フォームなしでコントローラにテキストエリアの値を取得する方法

ここでビューのスクリプト:

<div class="tab-pane active" id="tab_1"> 
       <div class="box-body"> 
        <textarea class="form-control" rows="3" placeholder="Apa yang Anda pikirkan ?">{!! Input::old('quoteinput') !!}</textarea> 
       </div> 
       <div class="box-footer"> 
       <a href="{!! URL::to('/timeline/quote') !!}"> 
        <button type="submit" class="btn btn-info pull-right">Posting</button> 
       </a> 
       </div> 
       </div> 

ここでは、コントローラからスクリプト:ルートで

public function postQuote() 
    { 
     $Qdata = new QuotesModel; 
     $Qdata -> kode_user  = Auth::user()->kode_user; 
     $Qdata -> kode_quote = 'Q'.strtotime(Carbon\Carbon::now()).rand(100,999); 
     $Qdata -> isi   = Input::get('quoteinput'); 
     $kategori    = 'quote'; 

     if($Qdata->save()) 
     { 
      $this->postToTimeline($Qdata->kode_quote , $kategori); 
     } 

     Session::flash('message', 'Berhasil memposting !'); 
     return redirect()->back(); 
    } 

ここでスクリプト:

Route::get('/timeline/quote', '[email protected]'); 

答えて

0

あなたには、フォームを作成せずに値を取得することはできませんhtml、あなたはform::openまたは<form>タグでそれを行います。 textareaにも名前を付ける必要があります。

<div class="tab-pane active" id="tab_1"> 
    <dorm method="GET" action="{!! URL::to('/timeline/quote') !!}"> 
     <div class="box-body"> 
      <textarea name="quoteinput" class="form-control" rows="3" placeholder="Apa yang Anda pikirkan ?">{!! Input::old('quoteinput') !!}</textarea> 
     </div> 
     <div class="box-footer"> 
      <button type="submit" class="btn btn-info pull-right">Posting</button> 
     </div> 
    </form> 
</div> 
+0

感謝、これは非常に助けですful –

0

jqueryを使用すると、フォームなしでtextarea値を取得できます。データベースに保存するには、AJAXを使用します。

HTML

<textarea name="quoteinput" class="form-control mytextarea" rows="3" placeholder="Apa yang Anda pikirkan ?">{!! Input::old('quoteinput') !!}</textarea> 
<button type="submit" class="btn btn-info pull-right">Posting</button> 

jQueryとAJAX:あなたの注意と答えを

$(document).on('click','button',function(e) 
{ 
    e.preventDefault(); 
    var text = $('textarea.mytextarea').val(); //this is the value of textarea 
    $.ajax({ 
     type:"POST", 
     url: "{{url('/timeline/quote')}}", 
     data: { 
     "_token": "{{ csrf_token() }}", 
     "text": text 
     }, 

     success: function (data) { 
      var res = $.parseJSON(data); 
      if(res == true) 
      { 
       alert('saved');    
      } 
     } 
    }); 
}); 

コントローラ

public function postQuote(Request $request) 
    { 
     if($request->ajax()) 
     { 
      $text=$request->text; 
      //save this textarea value to database 
      echo json_encode(TRUE);die; 
    } 
+0

これは私の参考になります。ありがとう –

関連する問題