如何从js发送参数到PHP编码器



我不知道我做错了什么,我被困在我的项目的这一部分,所以任何帮助将不胜感激

这是我的html:

<form id="form_search" method="post" action="/controler/something">
<select id="tip_fam" maxlength="100" >
<option value="1">something 001</option>
<option value="2">something 002</option>
<option value="3">something 003</option>
<ul id="print" class="bot"><li>Print</li></ul>
</form>

JS:

$("#print").click(function(){
        url = base_url+"index.php/almacen/product/create_pdf/"+$("#tip_fam").val();
        window.open(url,'',"width=800,height=600,menubars=no,resizable=no;")
    });

Php (codeigniter):

public function create_pdf(){       
    $tip_fam = $this->input->post('tip_fam');

我认为我可以通过这种方式获得选择的值,但是当我在var_dump()中打印它时,它显示给我"boolean false"

要在url中发送值并在控制器中使用,您应该捕获函数参数中的值。像这样修改你的代码,它就可以工作了。

public function create_pdf($tip_fam){       
     echo $tip_fam;// will echo the value which you passed from view.

您实际上不必使用javascript。我会这样做。

编辑:你可以有多个提交按钮。在你的函数中检查一下。

视图:

<form id="form_search" method="post" action="/controller/something">
    <select id="tip_fam" maxlength="100">
        <option value="1">something 001</option>
        <option value="2">something 002</option>
        <option value="3">something 003</option>
    </select>
    <input type="submit" name="print" id="print" value="Print">
    <input type="submit" name="print" id="print" value="PrintAndSave">
</form>

控制器:

public function something()
{
    // Check which button was clicked
    $submit_button = $this->input->post('print');
    if( $submit_button == 'print' )
    {
        // Do print
    }
    elseif( $submit_button == 'printAndSave' )
    {
        // Do print and save
    }
}

最新更新