Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   .val() запись в msql со значением 'on' (https://javascript.ru/forum/jquery/47821-val-zapis-v-msql-so-znacheniem-%27%27.html)

Skrims 09.06.2014 10:42

.val() запись в msql со значением 'on'
 
Всем привет!

Третий день бьюсь над проблемой:

есть два поля (input type text) - 1. Юредицеский адрес организации 2. Физический адрес организации
и чекбокс "Физический такой же как юредический", при выборе которого в поле 2 подставляется значение поля 1.
если чекбокc неактивен, то значение поля 2 обнуляется (.val('')).

Визуально вроде все работает, но после вызова функции в mysql поле 2 постоянно записывается значение "on"
Если чекбокс снимаю и сохраняю данные, то значение поля 2 записывается корректно(пустое поле).

Если не вызывать функцию и указать в поле 2 произвольный текст, то в mysql сохраняет все ок.

Пробовал $( setValue ).attr('value' value ) вместо $( setValue ).val( value ), не помогло.

ниже сама функция и html код

function getInpVal(item) {
    
var eventId = '#' + event.target.id;
var setValue = '#' + event.target.name;
 
    if ($(eventId).is(':checked')){
 
    $(item).keyup(function() {
        var value = $( item ).val();
 
        $( setValue ).val( value );
        $( setValue ).attr('disabled', true);
 
        })
    .keyup();
 
    }else
    {
        $( setValue ).val('');
        $( setValue ).attr('disabled', false);
        $( item ).unbind("keyup");
        
    }
 
}

<input  type="text" name="company_ur_address" id="company_ur_address"><span>Юр. адрес</span>
 
<input  type="text" name="company_fiz_address" id="company_fiz_address"><span >Физ. адрес</span>
 
<input type="checkbox"  onchange="getInpVal(company_ur_address)"  id="fiz-like-ur" name="company_fiz_address"><label for="fiz-like-ur">Такой же как юредический</label>

http://jsbin.com/moborufe/4/ - реализация кода

krasovsky 09.06.2014 14:36

Вместо .attr('disabled', true); попробуй prop(), и смотри в консоли в
network что отправляется при разных ситуациях.
У меня был случай когда я отправлял true/false, а бэкэнд на питоне всегда писал true,ибо это текст. Если отправляется все верно, но записывается неверно, значит рассмотри целесообразность отправки этого инпута вообще, т.е отправляей только если checked, либо разбирайся с конвертацией строк в булево значение на сервере.


Часовой пояс GMT +3, время: 23:48.