在表单未传递的情况下使用.html()动态插入隐藏文本字段


dynamically inserted hidden text fields using .html() under form not passing

我使用.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)它的罚款,我的数据是成功通过。