type="number"
Ввод не может обрабатывать значения, которые включают запятую, поэтому удалите это, и он должен работать нормально.
<input value="12323.23" type="number" pattern="^\\$?(([1-9](\\d*|\\d{0,2}(,\\d{3})*))|0)(\\.\\d{1,2})?$">
Если же хотите сохранить запятая, а затем изменить type="number"
к type="text"
и запятая должны работать нормально.
<input value="1,2323.23" type="text" pattern="^\\$?(([1-9](\\d*|\\d{0,2}(,\\d{3})*))|0)(\\.\\d{1,2})?$">
Вот JSFiddle с обеими вышеупомянутыми вариантами: http://jsfiddle.net/AndrewL32/65sf2f66/52/
Вы хотите типа = "число"? –