mySQLから取り出したデータ(データがあるだけリスト表示)にリンクを貼って、そのリンクをクリックすると別ウインドウが開き、同時に、hiddenでPOST送信したデータもそこに送信されるようにしたいです。
php
1print " <table><tr> 2<td><div>" .$e_name. "</div></td> 3<td><div>" .$cus. "</div></td> 4<td><div> 5<form action='edit.php' method='POST'> 6<input type='hidden' name='ce_id' value='".$cid."'> 7<input type='hidden' name='ce_nam' value='".$cus."'> 8<input type='hidden' name='ce_enam' value='".$e_name."'> 9<input type='hidden' name='ce_body' value='".$code_body."'> 10<input type='hidden' name='ce_fnam' value='".$code_name."'> 11<a href='javascript:void(0)' class='cedit'>" .$code_name. "</a></form> 12</div></td></tr></table>"; 13
jQuery
1$(function(){ 2$("a.cedit").on('click',function(){ 3window.open("about:blank","edit","top=100,left=150,width=500,height=500,scrollbars=1,location=0,menubar=0,toolbar=0,status=1,directories=0,resizable=1"); 4$(this).parent('form').target = "edit"; 5$(this).parent('form').action = "code_edit.php"; 6$(this).parent('form').method = "post"; 7$(this).parent('form').submit(); 8return false; 9}); 10});
これで、リスト表示部分のデータが1件だけの場合は問題なく別ウインドウが表示される(POST送信したものも問題なく処理されている)のですが、
2件以上になった場合、一番最新のものだけが、blankの別ウインドウが立ち上がり、それ以降のものはクリックしても何も反応がありません。
これを各データに対して同じように正しく行うにはどうしたらよいでしょうか?
よろしくお願いいたします。
【追記】
ご回答いただいた方法でうまく出来ましたので最終的なコードを一応記載しておきます。
PHP
1print " <table><tr> 2<td><div>" .$e_name. "</div></td> 3<td><div>" .$cus. "</div></td> 4<td><div> 5<form action='edit.php' method='POST' target='edit" .$cid. "'> 6<input type='hidden' name='ce_id' value='".$cid."'> 7<input type='hidden' name='ce_nam' value='".$cus."'> 8<input type='hidden' name='ce_enam' value='".$e_name."'> 9<input type='hidden' name='ce_body' value='".$code_body."'> 10<input type='hidden' name='ce_fnam' value='".$code_name."'> 11<a href='javascript:void(0)' class='cedit'>" .$code_name. "</a></form> 12</div></td></tr></table>";
jQuery
1$(function(){ 2$("a.cedit").on('click',function(){ 3 var form = $(this).parent('form'); 4 var target = form.attr('target'); 5window.open("about:blank",target,"top=100,left=150,width=500,height=500,scrollbars=1,location=0,menubar=0,toolbar=0,status=1,directories=0,resizable=1"); 6 form.submit(); 7return false; 8} 9}); 10});

回答3件
あなたの回答
tips
プレビュー