我有几个文本框,用户可以输入数字值,这是使用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'),
);
现在是他们更改我的代码以使其正常工作的一种方法,还是有一种更简单的方法来实现这一目标?
答案 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'事件...请让我知道这是否解决了您的直接问题