воскресенье, 26 декабря 2010 г.

jQuery установить значение атрибута type для браузера IE

В последней версии jQuery (1.4.x), при изменении атрибута type в Internet Explorer (IE) бросается (throw) исключение (запрещено его изменять).

В стеке ошибок, браузер показывает, что jQuery бросает исключение, которое нигде не обрабатывается. Чтобы его отловить, можно использовать код:


try {
  jQuery("input").attr('type','text');
} catch(e) {
  alert(e.message)
}

Как решение проблемы, многие предлагают использовать jQuery('...').data('element','key','value'), но наверное проще избегать самой ситуации изменения типа поля.

Чаще всего, такая необходимость возникает, если нужно склонировать поле и потом заставить вести себя иначе (например склонировать поле пароля и установить клону тип - текст). Под другими браузерами все будет отлично, а под ИЕ получите ексепшин. Я предпочтаю, в таком случае, не клонировать поле, а создавать - уже с нужным типом и потом выставлять остальные параметры. Но можно и использовать вариант с jQuery.data()

вторник, 21 декабря 2010 г.

Rails. Установка под windows7. Решение типовой проблемы

Если при установке рельсы под windows7 вылазит такая ошибка:

ERROR: While executing gem ... (Errno::ENOENT)

No such file or directory ...

Заходим в папку с установленым Ruby (C:/Ruby например), находим в папке bin файл gem и вставляем в его начало:

ENV['HOME'] = "C:/Ruby"

или ваш уникальный путь к Ruby.

понедельник, 6 декабря 2010 г.