Codeigniter: вставка значений JavaScript в базу данных - PullRequest
0 голосов
/ 22 января 2019

У меня есть пара текстовых полей, в которых пользователи вводят числовые значения, и это вычисляет сумму с помощью JavaScript.

Проблема заключается в том, что когда мне нужно вставить данные в базу данных, общая сумма составляет NULL .Я понимаю, что это клиентский скрипт.

Это моя форма:

<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>

Это мой JS:

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'),
);

И это ошибка:

(name, employee_code, weekno, startdate, enddate, normal_mon, normal_thus, normal_wens, normal_thu, normal_fri, normal_sat, normal_sun, normal_time_total, created, modified)
VALUES ('Werner', 'WPR', '2019-W04', '2019-01-22', '2019-01-22', '8', '8', '8', '8', '8', '8', '', NULL, '2019-01-22 11:16:39', '2019-01-22 11:16:39')

Теперь это способ изменить мой код для работы или есть более простой способ добиться этого?

1 Ответ

0 голосов
/ 23 января 2019

Поля формы, которые являются «только для чтения», не всегда представляют данные как часть формы, создают «скрытый» элемент с тем же именем, который будет представлять данные:

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

Однако яЯ немного запутался, почему у вас есть поле только для чтения, но к нему прикреплено событие onkeyup ... пожалуйста, дайте мне знать, если это решит вашу непосредственную проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...