我使用.html()/.append()在表单之间动态插入了一些隐藏字段。但当我单击提交按钮时,表单没有将表单详细信息带到我的php页面。
HTML:
<form action='/passenger.php' method='post' enctype='multipart/form-data'>
<div class='nebookclone'></div>
<div class='twobookclone'></div>
<table class='bus' id='onebus' cellspacing='0' align='left' cellpadding='5' width='50%'></table>
<table class='bus' id='rebus' cellspacing='0' align='right' cellpadding='5' width='50%'></table>
<div style='display:none;'>
<input type='submit' value='Proceed' id='onetwobook' name='hellhappens' />
</div>
</form>
<div id='reT'>
<input type='hidden' id='price' name='price[]' />
<input type='hidden' id='tot' name='tot[]' />
<input type='hidden' id='nos' name='nos[]' />
<input type='hidden' id='seat_no' name='seat_no[]' />
<input type='hidden' id='bearth' name='bearth[]' />
<input type='hidden' id='seat_price' name='seat_price[]' />
<input type='hidden' id='sl' name='sl[]' />
<input type='hidden' id='dp' name='dp[]' />
<input type='hidden' id='bp' name='bp[]' />
<input type='hidden' id='board' name='board[]' />
<input type='hidden' id='tt' name='tt[]' />
<input type='hidden' id='ta' name='ta[]' />
<input type='hidden' id='operator' name='operator[]' />
<input type='hidden' id='servicekey' name='servicekey[]' />
<input type='hidden' id='source' name='source[]' />
<input type='hidden' id='destination' name='destination[]' />
<input type='hidden' id='lay' name='layout[]' />
<input type='hidden' id='date' name='date[]' />
<input type='hidden' id='bus_type' name='bus_type[]' />
<input type='hidden' id='start' name='start[]' />
<input type='hidden' id='reach' name='reach[]' />
</div>
<div class='seats'>
<p>
<input class='twobookclone' type='submit' value='Continue booking' />
</p>
</div>
jQuery:
$('.twobookclone').append($('#reT').clone().children().removeAttr('id'));
$("#selection form div input").trigger("click");
那些隐藏的输入必须在表单标记内!
将<div id='reT'>
移到那里,然后重试
类似:
<form action='/passenger.php' method='post' enctype='multipart/form-data'>
<div class='nebookclone'></div>
<div class='twobookclone'></div>
<table class='bus' id='onebus' cellspacing='0' align='left' cellpadding='5' width='50%'></table>
<table class='bus' id='rebus' cellspacing='0' align='right' cellpadding='5' width='50%'></table>
<div style='display:none;'>
<input type='submit' value='Proceed' id='onetwobook' name='hellhappens' />
</div>
<div id='reT'>
<input type='hidden' id='price' name='price[]' />
<input type='hidden' id='tot' name='tot[]' />
<input type='hidden' id='nos' name='nos[]' />
<input type='hidden' id='seat_no' name='seat_no[]' />
<input type='hidden' id='bearth' name='bearth[]' />
<input type='hidden' id='seat_price' name='seat_price[]' />
<input type='hidden' id='sl' name='sl[]' />
<input type='hidden' id='dp' name='dp[]' />
<input type='hidden' id='bp' name='bp[]' />
<input type='hidden' id='board' name='board[]' />
<input type='hidden' id='tt' name='tt[]' />
<input type='hidden' id='ta' name='ta[]' />
<input type='hidden' id='operator' name='operator[]' />
<input type='hidden' id='servicekey' name='servicekey[]' />
<input type='hidden' id='source' name='source[]' />
<input type='hidden' id='destination' name='destination[]' />
<input type='hidden' id='lay' name='layout[]' />
<input type='hidden' id='date' name='date[]' />
<input type='hidden' id='bus_type' name='bus_type[]' />
<input type='hidden' id='start' name='start[]' />
<input type='hidden' id='reach' name='reach[]' />
</div>
<div class='seats'>
<p>
<input class='twobookclone' type='submit' value='Continue booking' />
</p>
</div>
</form>
我在php页面中犯了一个愚蠢的错误,我在控制台的NET选项卡中观察到数据正在传递到我的php页面。
我在那里所做的只是呼应了只在那里显示的$_POST['hellhappens'];
。最后我做了var_dump($_POST)
它的罚款,我的数据是成功通过。