Скажи “нет!” велосипедам

Когда-то давно, я написал функцию, которая проверяла все ли input radio button-ы натырканы в отсылаемой форме. Эта валидация была нужна мне для использования формы в небольшом опроснике, который я делал на старой работе. Ну и понятное дело, что решение было далеко от оптимального и очень прямолинейное. Сейчас, работая проектировщиком информационной системы, я борюсь с подобными решениями в рядах своих программистов, приучая их пользоваться готовым кодом там, где это возможно.

Учитывая, что тот самый, велосипедный пост, до сих пор входит в двадцатку самых посещаемых страниц моего блога, я решил исправиться и показать, как бы я решал данный вопрос теперь.

Continue reading Скажи “нет!” велосипедам

Образование по книгам: “AJAX in action”

AJAX in actionВторой день я хожу в легкой смеси экстаза с наркотическим опьянением: в кои-то веки наш “компьютерный” книжный магазин вовремя затарил хорошую книгу по новым технологиям. Даже душу не скребет отданная за нее сумма в 9 лат (~16 американских рублей), за свое образование и такого не жалко.

Надо сказать, что книгу я взял переводную “АJAX в действии”, поскольку оригинал у меня лежит на диске в виде PDF уже давно, но разобрать в ней что-то требует много времени. А вот бумажный экземпляр очень мило ездит со мной по всему городу и непрерывно читается: в электричке и троллейбусе, в автобусе и на остановке.

Continue reading Образование по книгам: “AJAX in action”

Подсветка синтаксиса

C этого момента в блоге начинает работать подсветка синтаксиса. Для этих целей будет использоватся пакет highlight.js поскольку использованный ранее iG: Syntax Highlighter на основе GeSHi не оправдал себя. Поживем увидим.

Кстати, недавно узнал о существовании сайта tohtml.com реализующего именно ту самую пресловутую расцветку синтаксиса. Тоже достаточно удобная штука, хотя меня не очень впечатлила его цветовая гамма. Continue reading Подсветка синтаксиса

Валидация множественных radio формы

Была необходимость написать небольшую процедурку, которая бы проверяла во всех ли радиобоксах группы пользователь поставил точку. При этом основная заморочка заключалась в том, что это тест, в котором кроме радиобоксов, еще иногда могут встречаться тестовые инпуты и чекбоксы. Думал, что за 30 минут, я найду нужную мне функцию в интернете…
Не тут-то было. Валидаторов радиобоксов там действительно как грязи, но на серьезных тестах, они почему-то сыпались. Пришлось написать свой универсальный валидатор форм.


function checkform(f)
{
var flag = true;
var prev = ""; 
for (var i = 0; i < elements.length; i++)   {
      var el = f.elements[i];
      if (el.type == 'radio') {
         if (prev != el.name)
       {         if (!flag)
          {
         alert('Warning! No answer selected');
           return false;
         }
       flag = false;
       prev = el.name;
   }
     flag = flag || el.checked; 
} }
 return true; }