Codeigniter:将JavaScript值插入数据库

时间:2019-01-22 10:31:35

标签: javascript sql codeigniter

我有几个文本框,用户可以输入数字值,这是使用JavaScript计算总数的方法。

问题是当我需要将数据插入数据库时​​,总数为 NULL 。我了解这是客户端脚本。

这是我的表格:

index

这是我的JS:

<tr>
    <th>Normal time</th>
    <td><input name="normal_monday" value="" onblur="findTotalmonday()" onkeyup="calculateTotal()" class="normaltime text-center" type="text" size="2"  id="normaltime"></td>
    <td><input name="normal_thus" value="" onblur="findTotalthus()" onkeyup="calculateTotal()" class="normaltime text-center" type="text" size="2"  id="normaltime"></td>
    <td><input name="normal_wens" value="" onblur="findTotalwens()" onkeyup="calculateTotal()" class="normaltime text-center" type="text" size="2"  id="normaltime"></td>
    <td><input name="normal_thu" value="" onblur="findTotalthu()" onkeyup="calculateTotal()" class="normaltime text-center" type="text" size="2"  id="normaltime"></td>
    <td><input name="normal_fri" value="" onblur="findTotalfri()" onkeyup="calculateTotal()" class="normaltime text-center" type="text" size="2"  id="normaltime"></td>
    <td><input name="normal_sat" value="" onblur="findTotalsat()" onkeyup="calculateTotal()" class="normaltime text-center" type="text" size="2"  id="normaltime"></td>
    <td><input name="normal_sun" value="" onblur="findTotalsun()" onkeyup="calculateTotal()" class="normaltime text-center" type="text" size="2"  id="normaltime"></td>
    <td><input name="normaltimetotal[]" value="" onkeyup="calculateTotal()" class="normaltimetotal text-center" type="text" size="2" id="totaltime1" readonly></td>
</tr>

这是我的控制器:

function findTotalmonday(){
    var arr = document.getElementsByName('monday');
    var tot=0;
    for(var i=0;i<arr.length;i++){
        if(parseInt(arr[i].value))
            tot += parseInt(arr[i].value);
    }
    document.getElementById('totalmonday').value = tot;
}

这是错误:

$userData = array(
    'name'              => $this->input->post('name'),
    'employee_code'     => $this->input->post('employee_code'),
    'weekno'            => $this->input->post('weekno'),
    'startdate'         => $this->input->post('startdate'),
    'enddate'           => $this->input->post('enddate'),
    'normal_mon'        => $this->input->post('normal_monday'),
    'normal_thus'       => $this->input->post('normal_thus'),
    'normal_wens'       => $this->input->post('normal_wens'),
    'normal_thu'        => $this->input->post('normal_thu'),
    'normal_fri'        => $this->input->post('normal_fri'),
    'normal_sat'        => $this->input->post('normal_sat'),
    'normal_sun'        => $this->input->post('normal_sun'),
    'normal_time_total' => $this->input->post('normal_time_total'),
);

现在是他们更改我的代码以使其正常工作的一种方法,还是有一种更简单的方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

“只读”的表单字段并不总是作为表单的一部分提交数据,而是创建一个具有相同名称的“隐藏”元素来提交数据:

<input name="normaltimetotal" value="" onkeyup="calculateTotal()" class="normaltimetotal text-center" type="text" size="2" id="totaltime1" readonly>
<input name="normaltimetotal" value="" type="hidden">

但是我有点困惑为什么您有一个只读字段,但是附加了一个'onkeyup'事件...请让我知道这是否解决了您的直接问题