前提・実現したいこと
POSTデータをきちんと受け取れるようにしたい
発生している問題・エラーメッセージ
現在このようなループ処理の中で取得したidとnameの要素をinputタグの中のidとvalueに
割り当てる処理を実装しています。
そして割り当てたデータをjsのクリックイベント内でformのvalueに送りsubmitしているのですが受け取り先でデータを確認するとemptyになってしまうのを解決したいです。
該当のソースコード
index.html
1<script type="text/javascript> 2 $(document.ready(function() { 3 $(.update).click(function(){ 4 var id = $(this).data('id'); 5 var name = $('#name_'+id).val(); 6 7 $('input[name="f_name"]'].val(name); 8 9 document.simple_form.submit(); 10 ); 11}); 12 13</script> 14 15<form method="POST" action="index.php" name="simple_form"> 16 <input type="hidden" name="alphabet" value="aaa"> 17 <input type="hidden" name="f_name" value=""> 18</form> 19 20 21<?php foreach ($array as $key => $value): ?> 22 <input type="hidden" id="name_<?= $value['id']?>" data-id="<?= $value['id'] ?>"value="<?= $value['name'] ?>" </input> 23 <button class="update" id="update_<?= $value['id']?>" data-id="<?= $value['id'] ?>"type="button">更新</button> 24<?php endforeach; ?>
その後取得したデータを受け取り先で確認するとデータがemptyで何も受け取れていません
index.php
1if($_SERVER['REQUEST_METHOD'] == 'POST'){ 2 var_dump($_POST); 3}
index.html
1 array(size=0); 2 empty
ですがvar_dumpの直後にexitして処理を止めるとpostされたデータが受け取れています。
index.php
1 if($_SERVER['REQUEST_METHOD'] == 'POST'){ 2 var_dump($_POST); 3 exit(); 4}
index.html
1 array(size=0); 2 'alphabet' = 'aaa' 3 'f_name' = '佐藤'
試したこと
思い当たったのは多重リクエストになっているのか、js側でのイベントの指定がよくないのか色々と調べたのですが直接的な原因が分かりません。
解決方法を教えていただきたいです。