0

I dynamically inserted some hidden fields in between my form using .html() / .append() But when i i'm click the submit button the form not carrying the form details to my php page.

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");
4
  • 1
    Submit button generally submits form, if you want to submit hidden fields try putting them into the form. Commented Nov 29, 2013 at 10:40
  • @Coderanonymous have you checked my jquery code ? Commented Nov 29, 2013 at 10:51
  • Yes, i have checked i think it suggests that you don't proper usage of jquery attributes. Refer http://api.jquery.com/clone/ Commented Nov 29, 2013 at 11:02
  • did you find your answer? Commented Nov 30, 2013 at 10:37

2 Answers 2

2

those hidden inputs must be inside form tags!

move <div id='reT'> in there and try again

like:

<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>
Sign up to request clarification or add additional context in comments.

2 Comments

I can't, I have to clone these fields twice for my application.
just copy every thing inside <form> tag, or you won't be able to send the additional parameters
0

I did a silly mistake in my php page, I observed in NET tab in console the data is passing to my php page.

What i did there i only echoed $_POST['hellhappens']; that only showing there. Finally i did var_dump($_POST) its fine, My data is successfully passing.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.