我不知道我做错了什么,我被困在我的项目的这一部分,所以任何帮助将不胜感激
这是我的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
}
}