2017-11-17 218 views
0

我想创建一个使用Dompdf的PDF,在我的程序中我有基于表单输入的动态参数的模型查询,但是当我点击我的按钮发送从选择按钮到控制器的值,数据没有被正确发送,任何想法为什么?下面是我的代码dompdf表单提交没有发送数据codeigniter

<form class="form" method="get" action="<?=site_url()?>/laporan/pdfdownload" id="myID" name="myName"> 
    <select id="sel1" class="form-control"> 
     <option disabled selected="selected">Pilih</option> 
        <?php foreach ($kerja as $rows){?> 
        <option value="<?php echo $rows->id_project?>"><?php echo $rows->id_project.' - '.$rows->nama_project ?></option> 
        <?php }?> 
    </select> 
    <select id="sel2" class="form-control"> 
     <option disabled selected="selected">Pilih</option> 
        <?php foreach ($item as $rows){?> 
        <option value="<?php echo $rows->id_project?>"><?php echo $rows->id_project.' - '.$rows->nama_project ?></option> 
        <?php }?> 
    </select> 
    <button id="filter_button" style="margin-top: 26px;margin-left: 28px;width: auto" name="filter_button" type="submit" class="form btn btn-danger"><i class="fa fa-search"></i>&nbspSearch</button> 
</form> 

,这里是我的控制器

public function pdfdownload(){ 
             //If i click submit then all of the post didnt get sended 
    $one = $this->input->post('sel1');//no value at all, anyone know why? 
    $two = $this->input->post('sel2');//no value at all, anyone know why? 

    $data['real'] = $this->report_m($one,$two)->row(); 

    htmlcontent = $this->load->view('laporan/download/laporan3.php',$data,true); 
    include(APPPATH."third_party/dompdf/autoload.inc.php"); 
    // require_once APPPATH . 'third_party/dompdf/autoload.inc.php'; 
    $dompdf = new Dompdf\Dompdf(); 
    $dompdf->load_html($htmlcontent); 
    $dompdf->set_paper("f4"); 
    $dompdf->render(); 
    $dompdf->stream("cobadlu.pdf",array("Attachment" => false)); 
    exit(0); 
} 

enter code here 

回答

1

在你的HTML表单,您需要使用name属性,而不是只ID:

<select id="sel2" name="sel2" class="form-control"> 
1

首先,您的表单中有一个错误:

<form class="form" method="get" action="<?=site_url()?>/laporan/pdfdownload" id="myID" name="myName"> 

您在此给出method ='get',请将其更改为'帖子'

第二你不包括“名称”属性的输入类型,以便提交后没有任何数据会发送。所以添加这样的名称属性:

<select id="sel1" name="sel1" class="form-control"> 
<select id="sel2" name="sel2" class="form-control">