【发布时间】:2015-12-29 04:49:23
【问题描述】:
我想使用PHP Codeigniter提交一个来自ajax返回数据的数据参数,但是当我提交表单的时候,却拿不到这个参数。
HTML:
<a href="#myModalBiaya" class="trash" role="button" data-toggle="modal">
<button class="btn btn-success btn-sm" name="pdetailbiaya" value="Detail Biaya" >Detail Biaya</button>
</a>
JS:
$('#myModalBiaya').on('shown.bs.modal', function(e) {
po_id = $('#po_id').val();
$.ajax({
type: 'post',
url: '<?php echo base_url();?>admin/po_trans_receive_po/getBiaya',
data:'po_id='+po_id,
success: function(data){
$("#myModalBiaya .tdata").html(data);
}
});
});
模态:
...
<div class="modal-body">
<div class="panel panel-default" >
<div class="panel-heading">
<div class="form-horizontal tdata" >
<div class="form-group" >
<label class='col-md-3 control-label' for='menu_name'>Biaya PPN </label>
<div class='col-md-8'>
<input type="text" name="po_biaya_ppn" id="po_biaya_ppn" readonly onkeyup="getTotalBiaya()"class="form-control text-right" value="0">
</div>
</div>
...
PHP:
function getBiaya()
{
$po_id = $this->input->post('po_id');
$resultPO = $this->md_po_trans_po->getID($po_id);
if ($resultPO) {
$resultotal = $resultPO->po_biaya_ppn+$resultPO->po_ongkos_angkut+$resultPO->po_biaya_asuransi+$resultPO->po_biaya_materai;
echo ' <div class="form-group" > ';
echo ' <label class="col-md-3 control-label">Biaya PPN </label> ';
echo ' <div class="col-md-8"> ';
echo ' <input type="text" name="po_biaya_ppn" id="po_biaya_ppn" readonly onkeyup="getTotalBiaya()" class="form-control text-right" value="'.$resultPO->po_biaya_ppn.'"> ';
echo ' </div> ';
echo ' </div> ';
}
除非在我提交此表单时输入参数po_biaya_ppn 为空,否则一切正常。当我print_r($this->input->post('po_biaya_ppn'));die(); 时返回空白。
问候, 谢谢你
【问题讨论】:
-
有什么理由不只返回所需的值而不是所有重复的 HTML?
-
您在
po_id中发送的值是多少? -
如果您在
po_id中发送的值包含对 url 无效的字符,您需要转换它们,请尝试data:'po_id='+encodeURIComponent(po_id),并查看是否可以解决问题 -
po_id 用于使用参数 po_id 进行查询(在 PHP 文件中),是否有更好的方法来实现这一点?
-
在ajax函数中发送时
po_id的实际值是多少?
标签: php jquery ajax twitter-bootstrap codeigniter