Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Установка атрибутов value для форм из кук (https://javascript.ru/forum/jquery/69987-ustanovka-atributov-value-dlya-form-iz-kuk.html)

Argonaft 01.08.2017 17:07

Установка атрибутов value для форм из кук
 
Есть код:
var $arr = ['mobile_phone','email','first_name','pcode','province','city','street','house'];

    inputvalue($arr);
    
    function inputvalue(arr){
        for (index = 0; index < arr.length; ++index) {
            value = getCookie(arr[index]);
            if(value !== null){
                alert(value);
                $(function(){
                    $('input[id='+arr[index]+']').attr('value', value);
                });
            }
        }
    }
    

    function getCookie(cookie_name){
      var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
      if(results){
        return ( unescape ( results[2] ) );
      } else {
        return null;
      }
    }


$('input[id='+arr[index]+']').attr('value', value); не работает кусок именно этот, не могу понять. Помогите пожалуйста

рони 01.08.2017 17:14

Argonaft,
строку 10 перенести в строку 0, строку 12 перенести в строку 26

laimas 01.08.2017 17:16

Цитата:

Сообщение от Argonaft
$('input[id='+arr[index]+']').attr('value', value); не работает кусок именно этот, не могу понять.

value это свойтство - .attr('value', value); - .val(value);

Argonaft 01.08.2017 17:38

Цитата:

Сообщение от рони (Сообщение 460304)
Argonaft,
строку 10 перенести в строку 0, строку 12 перенести в строку 26

Блин спасибо работает да :)

Argonaft 01.08.2017 17:50

Цитата:

Сообщение от laimas (Сообщение 460305)
value это свойтство - .attr('value', value); - .val(value);

да :) спасибо

рони 01.08.2017 17:53

Argonaft,
$(function() {
    var $arr = ["mobile_phone", "email", "first_name", "pcode", "province", "city", "street", "house"];

    function inputvalue(arr) {
        for (index = 0; index < arr.length; ++index) {
            var value = getCookie(arr[index]);
            if (value !== null) {
                alert(value);
                $("input[id=" + arr[index] + "]").val(value)
            }
        }
    }

    function getCookie(cookie_name) {
        var results = document.cookie.match("(^|;) ?" + cookie_name + "=([^;]*)(;|$)");
        if (results) return unescape(results[2]);
        else return null
    }
    inputvalue($arr)
});

рони 01.08.2017 17:56

Argonaft,
можно и ваш код сделать рабочим заменив for на forEach, но не нужно!!!

рони 01.08.2017 18:00

Цитата:

Сообщение от Argonaft
$('input[id='+arr[index]+']').attr('value', value); не работает кусок именно этот, не могу понять.

потому что index к моменту готовности страницы будет больше чем нужно и для всех элементов index будет 8, а такого элемента нет в массиве $arr .


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