2017-10-04 22 views
-1

私は動的にユーザーの要件に基づいて入力フィールドを持つ行を追加するテーブルを持っています。これらの入力フィールドは配列として格納されているため、それらをループすると各行の値を取得してdbに挿入できます。問題は、テーブルの最初の「静的」行だけが配列内で認識されることです。他のすべての動的入力フィールドは、送信時に入力配列に格納されません。ダイナミック入力値がPHPで認識されない

<script> 
      $(window).load(function(){ 
    $(function() { 
    var rowv="<tr><td><input type=number name=minimum[] required></input></td>  
    <td><input type=number name=maximum[] required></input></td><td><input 
    type=number name=overall[] required></input></td><td><?php echo $formular;?> 
    </td></tr>";   

    $("#addRow").click(function() { 
     var row = $(rowv); 
     $("#mt > tbody").append(row); 
    }); 
}); 
}); 

    </script> 

アレイを処理する(略称)は、PHPコードは:

foreach($_POST['fi'] as $key=>$value){ 


        $sql="insert into band(fi) values ('$value')"; 

    } 

テーブルのコードの抜粋は、余分な行が追加する

<tr><td><input type=number name=minimum[] required></input></td><td><input type=number name=maximum[] required></input></td> <td><input type=number name=overall[] required></input>  
    <td><?php echo $formular;?></td></tr> 
    </tbody><tfoot><tr><td colspan="25"><div class="text-center"> 
    <button type="submit" class="btn btn-success">Submit</button> 
     </div></td></tr></tfoot></table></div></form> 

jqueryのコードであります最初の行だけが挿入されています。動的に追加された行は、ポスト配列には送信されません。どうすればこの問題を解決できますか?

答えて

0

このように入力フィールドを作成し、それをフォームに追加してから、試してください。

var input = document.createElement("input"); 
      input.type = "text"; 
      input.name = "minimum[]"; 
      input.required = "true"; 
$("#testForm").append(input); 
0

jQueryの構文が正しくないようです。クリック機能をこれに変更してください:

$("#addRow").click(function() { 
    $("#mt > tbody").append(
     "<tr>" + 
      "<td><input type='number' name='minimum[]' required></td>" + 
      "<td><input type='number' name='maximum[]' required></td>" + 
      "<td><input type='number' name='overall[]' required></td>" + 
      "<td><?php echo $formular;?></td>" + 
     "</tr>" 
    ); 
}); 
+0

これは機能しません...同じ効果 – ewom2468

関連する問題