ФорумПрограммированиеJavaScript → Как хранить данные в html?

Как хранить данные в html?

  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 1 октября 2010 г. 11:03

    Недавно столкнулся с такой задачей: есть табличка пользователей с select-ами, которыми можно менять рейтинг. Тоесть поменял рейтинг и без перезагрузки он обновился, на тот который выбрал админ. Так вот, нужно было где-то хранить id пользователя, чтобы изменить нужную запись в БД. Я ее хранил в атрибуте class примерно так:

    <select class="123" >
    <option … >…
    </select>

    Тоесть по изменению select-a забирается выбранный рейтинг, id с класса и отправляется пост-запрос. Использую jquery. Так вот мне кажется, что это слегка изврат и есть более рациональные решения, как хранить подобную инфу, поделитесь опытом.
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 1 октября 2010 г. 12:06, спустя 1 час 3 минуты 33 секунды

    я тоже так делаю примерно)))) так что не один ты извращенец))))
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 1 октября 2010 г. 12:19, спустя 12 минут 27 секунд

    ок, а если понадобиться хранить несколько переменных? то что <select class="12|56|32" >, а потом строку класса парсить? Должно же быть что-то простое…
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 1 октября 2010 г. 12:21, спустя 1 минуту 50 секунд

    smackthat, да можно взять, и запиздячить свой атрибут тега :) ну и в него вписать id
    <select name="…" user_id="123">
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 1 октября 2010 г. 12:24, спустя 2 минуты 54 секунды

    да, но это уже не валидно! ну нельзя же просто понавыдумывать своих атрибутов
  • Josh

    Сообщения: 2008 Репутация: N Группа: Кто попало

    Spritz 1 октября 2010 г. 12:59, спустя 35 минут 34 секунды

    Свои атрибуты не валидно, но js это хавает, по крайне мере jquery. я делаю так, в зависимости от ситуации
    a)
    var users = new Array('Вася', 'Алёна', 'Петя');

    б)
    var users = new Array();
    //………………..
    <script type="text/javascript">
    users[users.length] = 'Вася';
    </script>
    //………………..
    <script type="text/javascript">
    users[users.length] = 'Алёна';
    </script>
    //………………..
    <script type="text/javascript">
    users[users.length] = 'Петя';
    </script>


    А что бы не засирать елемент тегами давай ему data:
    $('#element').data('boobs_count', 2.5);alert($('#element').data('boobs_count'));
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 1 октября 2010 г. 14:42, спустя 1 час 43 минуты 19 секунд

    smackthat, так ведь один куй валидности достичь практически никогда не получается :)
    В общем, тут либо то либо другое.
    Я вообще не вижу ничего страшного в нарушении "валидации", если оно (нарушение) не несет в себе никаких конструктивных изменений. но при этом решает существенные задачи, которые принесут пользу юзерам.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!