Passing PHP Variables to JavaScript Function -


this question has answer here:

i'm attempting pass php variables javascript function, updated elements in bootstrap modal. works fine when first 5 passed, when attempt pass 6th acts if javascript function fails run.

what's odd difference between working , non-working versions addition of parameter. don't understand why adding parameter cause fail. appreciate help!

working php:

echo '<td><a data-toggle="modal" href="#mymodal" onclick="updatemodal('.$order_id.','.$order_placed.','.$order_payout.','.$order_due.','.$order_pages.')" class="btn btn-primary btn-lg">view</a></td>'; 

non-working php:

echo '<td><a data-toggle="modal" href="#mymodal" onclick="updatemodal('.$order_id.','.$order_placed.','.$order_payout.','.$order_due.','.$order_pages.','.$order_level.')" class="btn btn-primary btn-lg">view</a></td>'; 

javascript

<script type="text/javascript"> function updatemodal(the_id, date_placed, payout, due_date, req_pages, o_level, subject, spacing, sources, format, c_name, c_email, c_phone){   $("#order_num").text(the_id); $("#order_placed").text(date_placed); $("#order_payout").text("$" + payout); $("#order_due").text(due_date); $("#order_pages").text(req_pages); $("#order_level").text(o_level); $("#order_subject").text(subject); $("#order_spacing").text(spacing); $("#order_sources").text(sources); $("#order_format").text(format); $("#customer_name").text(c_name); $("#customer_email").text(c_email); $("#customer_phone").text(c_phone);  } </script> 

modal code

<div class="modal fade" id="mymodal" tabindex="-1" role="dialog" aria-labelledby="mymodallabel" aria-hidden="true"> <div class="modal-dialog">   <div class="modal-content">     <div class="modal-header">       <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>       <h3 class="modal-title">order <span class="color" id="order_num">x</span></h3>       <p><small><strong>order placed:</strong><span id="order_placed">n/a</span></small></p>     </div>     <div class="modal-body">       <h3>you recieve: <span class="color" id="order_payout">n/a</span></h3>       <h4>due date: <span class="color" id="order_due">n/a</span></h4>       <h4>pages required: <span class="color" id="order_pages">n/a</span></h4>         <hr>       <p><strong>academic level: </strong><span id="order_level">n/a</span></p>       <p><strong>subject: </strong><span id="order_subject">n/a</span></p>       <p><strong>spacing: </strong><span id="order_spacing">n/a</span></p>       <p><strong>sources: </strong><span id="order_sources">n/a</span></p>       <p><strong>format: </strong><span id="order_format">n/a</span></p>       <hr>       <h3>customer details</h3>       <p><strong>customer name: </strong><span id="customer_name">n/a</span></p>       <p><strong>customer email: </strong><span id="customer_email">n/a</span></p>       <p><strong>customer phone number: </strong><span id="customer_phone">n/a</span></p>       <hr>       <h3>additional info</h3>       </div>     <div class="modal-footer">       <button type="button" class="btn btn-default" data-dismiss="modal">close</button>     </div>   </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> 

i suggest passing variables json object:

$parameters = array(     'id' => $order_id,     'placed' => $order_placed,     'payout' => $order_payout,     'due' => $order_due,     'pages' => $order_pages,     'level' => $order_level,     // , on );  echo '<td><a data-toggle="modal" href="#mymodal" onclick="updatemodal('.json_encode($parameters).')" class="btn btn-primary btn-lg">view</a></td>'; 

and in js:

<script type="text/javascript"> function updatemodal(parameters) {     $("#order_num").text(parameters.id);     $("#order_placed").text(parameters.placed);     $("#order_payout").text("$" + parameters.payout);     $("#order_due").text(parameters.due);     $("#order_pages").text(parameters.pages);     $("#order_level").text(parameters.level);     $("#order_subject").text(parameters.subject);     $("#order_spacing").text(parameters.spacing);     $("#order_sources").text(parameters.sources);     $("#order_format").text(parameters.format);     $("#customer_name").text(parameters.c_name);     $("#customer_email").text(parameters.c_email);     $("#customer_phone").text(parameters.c_phone); } </script> 

Comments

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

java - Copying object fields -

c++ - Clear the memory after returning a vector in a function -