2016-04-08 19 views
1

私はjQuery .clonemeを使用して重複要素を作成するフォームを用意しています。私は「xxxxxは[]」、彼らは一度に処理配列を作成する必要がありますようにフォーム要素の名前を持っていますが、私は最初のインスタンスを取得しています:私は複製を作成するときにフォームデータが配列を作成していません

@extends('app') 

@section('content') 

<div class="row"> 
    <div class="col-md-10 col-md-offset-1"> 
     <h1>Create a New Jobsheet</h1> 
     <hr/> 

     {!! Form::open(['url' => 'jobsheets']) !!} 

     <div class="form-group"> 
      {!! Form::label('customer','Customer') !!} 
      <select name="customer" size="1" class="form-control"> 
        <option value="" disable selected>-- Select Customer --</option> 
       @foreach($customers as $c) 
        <option value="{{ $c->name }}">{{ $c->name }}</option> 
       @endforeach 
      </select> 
     </div> 
    </div> 
</div> 
<br/> 

<div class="row"> 
    <div class="col-md-5 col-md-offset-1"> 
     <div class="form-group"> 
      {!! Form::label('travel','Travel Description: ') !!} 
      {!! Form::text('travel',null,['class' => 'form-control']) !!} 
      {!! Form::label('travelduration','Travel Duration: ') !!} 
      {!! Form::input('number','travelduration',null,['class' => 'form-control','step'=>'any']) !!} 
     </div> 
    </div> 
    <div class="col-md-4 col-md-offset-1"> 
     <div class="form-group"> 
      {!! Form::label('mileage','Mileage: ') !!} 
      {!! Form::input('number','mileage',null,['class' => 'form-control','step'=>'any']) !!} 
     </div> 
    </div> 
</div> 
<br/> 

<div id="product"> 
    <div class="clonedInput" id="input1"> 
      <div class="row"> 
       <div class="col-md-6 col-md-offset-1"> 

         {!! Form::label('product[]','Product: ') !!} 
         <select name="product[]" size="1" id="product1"> 
          @foreach($products as $p) 
          <option value="{{ $p->name }}">{{ $p->name }}</option> 
          @endforeach 
         </select> 
       </div> 
       <div class="col-md-2 col-md-offset-1"> 
         {!! Form::label('prodquant[]','Product Quantity: ') !!} 
         {!! Form::input('number','prodquant[]','1', ['class' => 'form-control', 'id' => 'prodquant1', 'step' => 'any']) 
         !!} 
       </div> 
      </div> 
      <div class="row"> 
       <div class="col-md-8 col-md-offset-1"> 
         {!! Form::label('proddescription[]','Description: ') !!} 
         {!! Form::textarea('proddescription[]',null,['class' => 'form-control','id' => 'proddescription1']) !!} 
       </div> 
      </div> 
    </div> 
</div> 
<button class="cloneme" rel="product">Add Product</button> 

     <div class="form-group"> 
     {!! Form::submit('Create Jobsheet', ['class' => 'btn btn-primary form-control']) !!} 
     </div> 

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



@endsection 

@section('scripts') 

<script> 
    //should clone and add on to the bottom of the scorer sections in the game edit form 
    $(function() { 
     $('.cloneme').click(function(e){ 
      e.preventDefault(); 
      var id = $(this).attr("rel"); 
      var clone_item = $("#" + id).find(".clonedInput"); 

      clone_item.clone().removeAttr("id").removeClass("clonedInput").appendTo('#' + id); 
     }); 
    }); 
</script> 

@endsection 

誰かが私に理由を教えてくださいすることができフォームデータが配列に入りませんか?

+0

が重複する可能性: //stackoverflow.com/questions/27494227/javascript-does-not-fire-after-appending –

+0

jQueryは正常に動作しています。それは問題のフォームデータです。私は "リンゴ"の製品を持っていると仮定し、製品をクローンし、 "オレンジ"の新しいものを入れて、フォームデータは私に "製品" = ['リンゴ'、 'オレンジ']を与えるはずだが、それは – danjswade

答えて

1

クロムインスペクタ(F12)、ネットワークタブで有効な投稿データをデバッグすることができます。 はコードでは、すべての

dd($request->all()); 
//or 
dd(\Input::all()); 

次のようにダンプすべてが正常に動作する場合は、することができますによってループデータ

foreach($request->get('product') as $key=>$product) { 
    $qty = $request->get('prodquant')[$key]; 
} 

編集: それは次のようになります。

@section('content') 
{!! Form::open.... !!} 
// all form inputs 
{!! Form::close() !!} 
HTTPの
+0

問題は、「製品」の最初のインスタンスだけがフォームによって送信されることです。私はこれを見つけるために上記を行った – danjswade

+0

フォームを正しく開いて閉じていることを確認しますか? – trinvh

+0

はい、私は普通です{!! Form :: open(['url' => 'jobsheets'])!!}と{!! Form :: close()!!} – danjswade

関連する問題