За последние 24 часа нас посетили 20584 программиста и 1825 роботов. Сейчас ищут 959 программистов ...

Получение значения поля

Тема в разделе "JavaScript и AJAX", создана пользователем EYEZsee, 21 апр 2017.

  1. EYEZsee

    EYEZsee Новичок

    С нами с:
    17 апр 2017
    Сообщения:
    13
    Симпатии:
    0
    Добрый день. В общем проблема такая: При заходе из админки мне надо дать возможность редактирования данных. Вот пример их вывода внизу
    Код (Text):
    1. while ($row = mysqli_fetch_array($result_pag)) {
    2.                 if ($row['id'] == $post) {
    3.                     ?> <div class = "post_title" data-id="<?php echo $post; ?>" <?php if ($user) { if ($user->getLogin() == 'admin') { ?> contenteditable="true" spellcheck="false"  <?php } }?> >
    4.                         <?php
    5.                             echo $row['Title'] . '<hr>';
    6.                         ?> </div>
    Далее идет мой аякс. Я (в целях теста) пытаюсь выцепить в консоль текущее значение поля (чтобы его изменять в дальнейшем)
    Код (Text):
    1. var oldVal, newVal, id;
    2.  
    3.     $('.post_title').focus(function() {
    4.         odlVal = $(this).text();
    5.         id = $(this).data('id');
    6.         console.log(oldVal + '|' + id);
    7.     });
    но мне в ответ oldVal приходит undefined. Не подскажете, как передать значение? В гугле не нашел =\
     
  2. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    А где аякс?
    --- Добавлено ---
    и потом элемент с классом post_title - это div, а он не может быть focus.
     
  3. EYEZsee

    EYEZsee Новичок

    С нами с:
    17 апр 2017
    Сообщения:
    13
    Симпатии:
    0
    опечатка, джаваскрипт. По поводу div и focus - брал это из урока, где все работает, единственное, там выводится не при помощи echo.
     
  4. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    focus применяется к элементам формы.
     
  5. EYEZsee

    EYEZsee Новичок

    С нами с:
    17 апр 2017
    Сообщения:
    13
    Симпатии:
    0
    мхм... но он же цепляет айди поля =\ можно как-нибудь так же ухитриться значение взять? советы будут?
     
  6. EYEZsee

    EYEZsee Новичок

    С нами с:
    17 апр 2017
    Сообщения:
    13
    Симпатии:
    0
    Если кому интересно - решил проблему так: в диве добавил айди и data-*
    Код (Text):
    1. <div class = "post_title" id = "ttt" data-title="<?php echo $row['Title']; ?>" data-id="<?php echo $row['id']; ?>"
    в скрипте достал элемент по айди и по нему вытащил
    Код (Text):
    1. var x = document.getElementById('ttt');
    2.  
    3. var oldVal, newVal, id;
    4.  
    5.     $('.post_title').focus(function() {
    6.         oldVal = x.dataset.title;
    7.         id = $(this).data('id');
    8.         console.log(oldVal + '|' + id);
    9.     });
    и все работает