필자는 내 라이브러리에 대한 문제를 해결하는 중 이었지만 오페라 동작과 관련된 것으로 귀결됩니다. 이제는이 문제에 대해 큰 경고를 발견하지 못했습니다. 따라서 추측 컨데 내가 놓친 것이 있거나 단지 모르는 해결 방법이 있다는 것입니다.Opera 12의 입력 유형에 대한 해결 방법은 숫자 유효성 동작입니까?
은 특히,이 같은 간단한 코드를 취 오페라 12.16에서
<input type="number" id="myNumber" />
가 입력 타입 = 수가 지원되며 올바르게 타입 = 번호 입력을 표시 할 것이다 있도록. 사용자가 유효한 값을 입력하면
후, "123"을 말한다 :
을 이제, 사용자가 "123A"를 입력하면, 다음 : 또한
var myInput = document.getElementById('myNumber');
myInput.value // => ""
myInput.validity // => { valid: true, typeMismatch: false, ... } -- why valid: true?
myInput.validity.badInput // undefined
: myInput.willValidate
복귀 true
myInput.checkValidity()
은 true
을 반환합니다.
그렇다면이 버전의 Opera에서 input type = number의 잘못된 입력을 실제로 어떻게 확인할 수 있습니까?
Firefox는 거의 동일한 방식으로 작동하는 것 같습니다. 그렇습니까? – Pointy
@Pointy 특정 버전의 Firefox를 언급하고 있습니까? 방금 시도한 32.0과 똑같은 동안, Firefox는'myInput.validity.badInput'을'true'로 설정합니다. 문제를 탐지하기에 충분하며,'valid'를'false'로 설정합니다. – Alpha
"왜 유효 : true?" http://stackoverflow.com/a/18853513/248058을 참조하십시오. – Knu