Похоже, ваша проблема - это сочетание вещей.
Я создал эту обновленную скрипку, чтобы помочь отобразить проблемы: http://jsfiddle.net/KmMBd/10/
В Firefox и IE Крис абсолютно прав. Firefox не поддерживает тип «число», поэтому он всегда обрабатывает его как «текст». Если вы загрузите скрипку и нажмете «предупреждение», на ней появится «текст». Очевидно, что это неправильно, но Firefox не знает, как обрабатывать тип «число». Если вы проверите поле ввода в firebug, вы увидите, что оно на самом деле говорит type = "number" и просто предупреждает неправильно. Это поведение останется верным независимо от того, какие переключатели вы используете.
В хроме это похоже на баг. Учитывая, что HTML5 еще не является официальным стандартом, это понятно, и это прекрасная возможность для сообщения об ошибке. Похоже, что Chrome неправильно отображает тип числа, когда перерисовывает его. В скрипте, если вы сдвинете Toggle 1, а затем slideToggle 2, вернется счетчик чисел. Это то, что заставляет меня думать, что это проблема с перерисовкой - что-то с детскими / родительскими вещами, держу пари. Эта ссылка содержит информацию о том, как сообщать об ошибках в Chrome: Сообщить об ошибках Chrome
В сафари проблема немного другая. Тип номера поддерживается, но фактически не обрабатывается. Короче говоря, это означает, что Safari распознает, что ввод отличается от текстового поля, но на самом деле ничего не делает с этой информацией. По сути, относитесь к Safari так же, как к Firefox / IE.
Короче говоря, я думаю, что истинный ответ на ваш вопрос заключается в том, чтобы прямо сейчас избегать ввода цифр. Они не поддерживаются в большинстве браузеров (только в одном), а в тех, где они поддерживаются (на самом деле, только в Chrome), они содержат ошибки. Подождите немного - HTML5 скоро будет потрясающим :)