몇 가지 수치 계산을 수행하는 작은 자바 스크립트 유틸리티를 작성하고 있습니다. 거의 모든 입력은 참값입니다 (즉, 나는 그들과 수학을하고 있으며, 우편 번호 또는 일종의 것이 아닙니다). 이 숫자 중 일부는 계산 전에 다른 숫자에 추가 될 수식어를 나타냅니다. 값이 0보다 큰 경우 더하기 기호 앞에이 숫자가 부호로 표시되도록하고 싶습니다. 이것은 파이어 폭스와 IE에서 잘 작동하는데 숫자 입력에는 특별한 기능을하지 않습니다. 그러나 parseFloat
은 제대로 처리 할 수 있지만 Chrome에서는 number
값의 더하기 문자를 허용하지 않습니다. 지금 당장 내 코드는 수동으로 필드 값에 +
을 붙이면 Chrome에서 중단됩니다.Chrome의 숫자 입력에서 더하기 기호가 허용되지 않습니다. 해결 방법은 무엇입니까?
Chrome에서이 기능을 사용할 수있는 방법이 있습니까? 외관상으로는 (CSS content generation before or after 'input' elements) :before
는 나를 여기 유용하지 않을 것이다. 이상적으로는 number
유형을 유지하고 싶습니다. 다른 모든 방법이 실패 할 경우 text
을 사용할 수는 있지만 min
, max
및 step
속성을 사용합니다.
업데이트 : 필드에 novalidate
을 추가하면 더하기 기호가 허용되지만 Chrome은 빈 문자열의 value
을 요구합니다. 요소를 검사하면 novalidate
을 포함하여 유효하지 않은 값을 표시 할 수있는 방법이 없습니다.
업데이트 : 유효하지 않은 필드 (How to get the raw value an <input type="number"> field?)에서 값을 가져 오는 좋은 방법이없는 것으로 보입니다. 그리고 유효성 확인은 input[type=text]
에 대해 min
, max
및 step
속성이 허용되지 않음을 확인합니다. 내가 다른 것을 생각해 내지 않으면, 아마 플러스 기호를 포기할 것이다.
작동하지 않습니다. "+42"를 입력 한 다음 증가 화살표를 클릭하십시오. + 기호는 Chrome이 문자열을 유효한 숫자 값으로 해석하지 못하도록하기 때문에 필드가 재설정됩니다. –