2017-08-03 12 views
0

にキャプチャされていない入力の値を追加しましたマイスクリプト:動的には、私は私が動的にjqueryのを使用して、入力フィールドを追加して、Laravel PHPの</p> <p>私のHTMLを使用してそのフォームの値を提出するフォームを持っているPHPの

<script type=""> 
$(document).ready(function() { 
    var max_fields  = 10; //maximum input boxes allowed 
    var wrapper   = $(".input_fields_wrap"); //Fields wrapper 
    var add_button  = $(".add_field_button"); //Add button ID 

    var x = 1; //initlal text box count 
    $(add_button).click(function(e){ //on add input button click 
    e.preventDefault(); 
    if(x < max_fields){ //max input box allowed 
     x++; //text box increment 
     $(wrapper).append('<div><input type="text" name="mytext[]"/><a href="#" class="remove_field">Remove</a></div>'); //add input box 
    } 
    }); 

    $(wrapper).on("click",".remove_field", function(e){ //user click on remove text 
    e.preventDefault(); $(this).parent('div').remove(); x--; 
    }) 
}); 
</script> 

の問題は、私は、入力ボックスに入力した値を送信し、次のLaravelコードを使用してそれらを捕獲しようとします。

$mytext =Request::get('mytext'); 
dd($mytext); 

追加するテキスト入力の数にかかわらず、htmlで定義した入力の最初の値だけが取得されます。

出力:私はこの問題を解決するにはどうすればよい

array:1 [▼ 
    0 => "Text box 1" 
] 

?ありがとう

+1

これを動作させるには、別の名前タグを使用する必要があります。ループを変更して名前タグに名前を付けるようにします。name = "mytext" + count + "' –

+0

@GerritLuimstra - Laravelのことですか? PHPは「配列」規約で指定された入力を適切に処理します。あなたは 'text []'という名前の多くの入力を持つことができ、 '$ _POST ['text']'の値は数値的にインデックスされた入力の配列になります。 –

答えて

2

追加する各入力に異なる名前を付けることができます。

あなたのHTML:

<input type="text" name="mytext[text]"> 

あなたのJS:

var x = 1; //initlal text box count 
    $(add_button).click(function(e){ //on add input button click 
     e.preventDefault(); 
     if(x < max_fields){ //max input box allowed 
      $(wrapper).append('<div><input type="text" name="mytext[text'+ x++ +']"/><a href="#" class="remove_field">Remove</a></div>'); //add input box 
     } 
}); 

出力は次のようになります。

"mytext" => array:4 [▼ 
    "text" => "Text" 
    "text1" => "Text1" 
    "text2" => "Text2" 
    "text3" => "Text3" 
] 

・ホープこのヘルプ!

+0

これはありがとうございます! – user3714932

+0

あなたは大歓迎です! – webmasterdro

1

追加された入力をカウントする変数が既にあります。
それを使用してください!

お知らせname="mytext'+x+'"

$(wrapper).append('<div><input type="text" name="mytext'+x+'"/><a href="#" class="remove_field">Remove</a></div>'); 

もが送信されますどのように多くの知っているxを送りました。

関連する問題

 関連する問題