Без паттернов в принципе можно обойтись. Получится несколько жирнее. Надо определять тип инпута - по типу выбирать правило или посылать в нужную функцию.
И тут есть засада с атрибутом type. Для некоторых кошерных типов типа select нельзя брать тип с помощью getAttribute, потому что браузер компилит селекты до select-one и select-multiple. Упыри. С другой стороны все типы которые браузер нипонял превратятся в text.
Приходится делать вот так, запомните или запишите:
type=elem.getAttribute('type') || elem.type;
|