user2838698
user2838698

Reputation:

How to display the data from ajax into smarty template?

My Smarty template is as follows:

<form id="view-transactions-form" name="user_transactions_status" action="{$control_url}modules/transactions/view_transactions.php" method="post">
  <input type="hidden" name="from_date" value="{$from_date}"/>
  <input type="hidden" name="to_date" value="{$to_date}"/>
  <input type="hidden" name="transaction_status" value="{$transaction_status}"/>
  <input type="hidden" name="transaction_no" value="{$transaction_no}"/>
  <div class="trans_menu">
    <ul class="trans_menuul">
      <li>
        <a href="#" class="blue_active">
          <div>
            <div class="checkbxd"><input class="custom-check" type="checkbox" name="cancelled" id="cancelled" onChange="return submitForm();"></div>
            <div class="checkbxd_txt">Cancelled : {$user_transactions_count.cancelled_transaction_count}</div>
          </div>
        </a> 
      </li>
      <li>
        <a href="#" class="green">
          <div>
            <div class="checkbxd"><input class="custom-check" type="checkbox" name="success" id="success" onChange="return submitForm();"></div>
            <div class="checkbxd_txt">Success : {$user_transactions_count.success_transaction_count}</div>
          </div>
        </a> 
      </li>
      <li>
        <a href="#" class="yellow">
          <div>
            <div class="checkbxd"><input class="custom-check" type="checkbox" name="inprocess" id="inprocess" onChange="return submitForm();"></div>
            <div class="checkbxd_txt">Inprocess : {$user_transactions_count.inprocess_transaction_count}</div>
          </div>
        </a> 
      </li>
      <li>
        <a href="#" class="red">
          <div>
            <div class="checkbxd"><input class="custom-check" type="checkbox" name="failed" id="failed" onChange="return submitForm();"></div>
            <div class="checkbxd_txt">Failed : {$user_transactions_count.failed_transaction_count}</div>
          </div>
        </a> 
      </li>
    </ul>
  </div>
</form>

The ajax call is as follows:

{literal}
<script language="javascript" type="text/javascript">
function submitForm() {
  var form = document.user_transactions_status;

  var dataString = $(form).serialize();

  $.ajax({
    type:'POST',
    url:'view_transactions.php',
    data: dataString,
    success: function(data) {

    }
  });
  return false;
} 
</script> 
{/literal}

And the PHP code is as follows:

list( $grid_data, $transaction_count_data, $sort_status, $sort_link_array, $pag_link_array ) = get_all_user_transactions($request,$cur_page, $sort_col_id ,$desc_or_asc, $where_str, $query_string);
    //print_d($grid_data);
    list( $grid_data ) = prepare_response($grid_data);
    list( $transaction_count_data ) = prepare_response($transaction_count_data);
$smarty->assign('user_transactions', $grid_data);
  $smarty->assign('user_transactions_count', $transaction_count_data);
  $smarty->assign('cur_page', $cur_page);
die();

I'm able to get the desired data if I see in firebug console but not able to show on the webpage. Can anyone guide me in this regard please?

Upvotes: 2

Views: 9220

Answers (1)

merdan
merdan

Reputation: 1259

Inside your ajax success function place data where you want to display it EX : display responce data in div

<div id="display"></div>

    $.ajax({
       type:'POST',
       url:'view_transactions.php',
       data: dataString,
       success: function(data) {
          $('#display').html(data);
       }
  });

Upvotes: 3

Related Questions