我正在尝试在控制器中获取post数组值

时间:2013-06-13 06:50:17

标签: jquery codeigniter

我是jQuery和Codeigniter的新手。我正在尝试的是获取控制器函数的post值,这是我从jQuery serialize()得到的,但我收到错误说未定义的变量。如何获得签到和结账控制器的价值?这是我的代码......

这是观点:

//$key i'm passing here is an array

<input name ="checkin<?php echo $key;?>" type="textbox" class="TextBox1" value="<?php echo $in; ?>"/>
<input name ="checkout<?php echo $k;?>" type="textbox"  class="TextBox2" value="<?php echo $out; ?>"/>
<script>
$("input").blur(function () {
    var form_data = $("#employee_2").find('input').serialize();
    $.ajax({
        url: "<?php echo site_url(" HomeController / calculate_time_lap "); ?>",
        type: 'POST',
        data: form_data,
        success: function (result) {
            alert(result);
            //$('input').closest('tr').find('.TextBox3').val(result);
        }
    });
    return false;
});
</script>

控制器
我得到的$value是空的....

public function calculate_time_lap() {
    $formate = "%h:%i";
    $checkin['val'] = $this->input->post('checkin');
    //is my post 'checkin' here is null... 
    foreach ($val as $value)
    {
        echo $value;   
    }
}

1 个答案:

答案 0 :(得分:0)

试试这个 HTML:

<input name ="checkin" type="textbox" class="TextBox1" value="<?php echo $in; ?>"/>
<input name ="checkout" type="textbox"  class="TextBox2" value="<?php echo $out; ?>"/>

你必须在你在html中使用的控制器中使用相同的名称。

我认为您使用了=&gt;

name ="checkin<?php echo $key;?>

在html中,但仅使用$ this-&gt; input-&gt; post('checkin')进行调用。 所以你没有得到任何东西。 if $ key = 1控制器中的呼叫,如$ this-&gt; input-&gt; post('checkin1')