Здравствуйте, PM, Вы писали:
PM>Всем привет!
PM>Cразу к сути вопроса — есть поле ввода <input type='number'>, хочется форматировать по разному его значения. Например, показывать число в 16-ричной с/с, или строку "нет" для значения 0.
Редактировние и представление (форматирование) это две разные сущности в том смысле что представление данных в этих двух режимах должно выполняться по разному.
В самом общем случае можно делать так:
<form>
Fancy 16-bit number <input type=text filter="0~9A~F" class="for-edit"><span class=for-view />
</form>
И переключать form в режим отображения и режим редактирования пряча/показывая соотв. элементы. В span class=for-view выводить значение в твоем отформатированном виде.
Про: строку "нет" для значения 0.
Значение 0 это значение 0. Пустая строка это значение нет или undefined.
Если так, то попробуй:
<html>
<head>
<style>
input[type=number]:empty { color:red; }
</style>
</head>
<body>
<input type=number novalue="неопределено" >
</body>
</html>