1. JavaScript / Говнокод #12176

    +146

    1. 1
    <input name="login" type="text" id="imageName" value="Image Name" onblur="if (this.value == ''){this.value = 'Image Name'; }" onfocus="if (this.value == 'Image Name') {this.value = '';}"/>

    А вот так, нужно делать плейсхолдеры к инпутам.

    Запостил: Starkua, 22 Ноября 2012

    Комментарии (18) RSS

    • Starkua, подскажите тогда нормальное кроссбраузерное решение?
      Ответить
      • Решений масса, достаточно поискать в гугле. Вот например для jQuery - https://github.com/mathiasbynens/jquery-placeholder.
        Ответить
        • может ли это быть старый код или old-school style?
          Ответить
          • Заминусовали тебя, дружок, молодые адепты jquery и html 5 не признают старых богов )))
            Ответить
        • Почему у меня разрывает задницу от этих фраз?
          > "...Решений масса, достаточно поискать в гугле. Вот например для jQuery..."
          Вы по любому случаю обращаетесь в гугл? Вам лень подумать или некак-некак прям?
          Что бы такие как вы без гугла-то делали.
          Ответить
          • Все правильно. Зачем пользоваться тем, что создали другие люди, и учиться на их ошибках. Ведь делать свои велосипеды гораздо интересней.
            Неважно, что дом упадет, главное, что при его постройке не пришлось ни с кем консультироваться, и технологию приготовления бетона и кирпичей придумал сам строитель.
            Ответить
            • Не путайте технологию с реализацией. У тех кто неосилил технологию - всё получаются хрен пойми из чего и хрен пойми как. То там нагуглил, то тут. Потому что в голове - овсяная каша, - из-за отсутствия своего собственного мнения.
              Ответить
              • Так Starkua выше предложил готовый кирпич, который железобетонно работает во всех браузерах. А еще лучше он работает в браузерах, у которых placeholder есть нативно.

                Вы же предлагаете "думать", т.е. писать свой велосипед, тратить время на его тестирование во всех браузерах, наступать на грабли, которые уже обошли авторы того плагина...

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

                > Потому что в голове - овсяная каша
                Уверяю вас, у тех кто не изучает чужой код, а пишет все сам с нуля, зная только технологии, каша в голове еще большая.
                Ответить
                • Ну что ж, не хотите "думать" - не "думайте", это ваше право.
                  Ответить
                  • Да подумать то я никогда не против, просто мое "думание" обычно начинается с изучения проблемы, и обзора существующих решений (аля гуглёжка). Если вы это считаете ненормальным - ваше право.
                    Ответить
      • Я бы сделал класс + атрибут data-placeholder, а проверки навесил скриптом.
        Ответить
        • Совмещая jQuery и modernizr

          if (!Modernizr.input['placeholder']){

          $('*[placeholder]').each(function(){

          var self = $(this);
          self.val(function(i, value){
          if ($.trim(value)) return value;
          else return self.css('color', '#777').attr('placeholder');
          })
          .on('focus', function(){
          if (this.value == this.getAttribute('placeholder')) self.css('color', '#000').val('');
          })
          .on('blur', function(){
          if (!$.trim(this.value)) this.value = self.css('color', '#777').attr('placeholder');
          })

          });
          }
          Ответить
      • Я так троллил поддержку одного сайта с подобной реализацией плейсхолдера. Зарегистрировался с именем "username", и домагался, что меня не пускает.
        Ответить
      • Кроссбраузерное - атрибут placeholder. Мы же о браузерах говорим, а не об IE?
        Ответить
    • Меня тут больше всего смущает, что в поле "login" почему-то подсказка "Image Name". Это явно какая-то шифровка, которую мне не разгадать.
      Ответить
      • Картинкам тоже нужно иногда заходить в интернет, чтобы запостить в него людей
        Ответить
        • Вы так говорите, будто это что-то смешное.
          Ответить
    • сотый раз вижу... на деле смотреть больно...
      Ответить

    Добавить комментарий