Javascript忽略号码字段上的无效?

时间:2016-09-20 20:56:52

标签: javascript html5

似乎JavaScript,至少在IE11和Firefox中,忽略了形式" novalidate"设置“数字”字段的值时的选项。我想使用数字字段,因为我希望在移动设备上查看我的网站时,数字键盘会出现在键盘的位置,但是当输入值时,我希望能够将其格式化为(### )### - ####。在下面的例子中,我可以在字段中键入我想要的内容,因为" novalidate"选项,但JS不会让我插入我想要的东西:



var txtNum = document.getElementById("txtNum");
function ftnTestA() {
	var num = "1234567890";
	txtNum.value = num;
}
function ftnTestB() {
	var num = "(123) 456-7890";
	txtNum.value = num;
}
function ftnTestC() {
	var num = "123-456-7890";
	txtNum.value = num;
}

<form novalidate="novalidate">
	<input type="number" id="txtNum" />
	<br/><br/>
	<button type="button" onclick="ftnTestA();">1234567890 (works)</button>
	<button type="button" onclick="ftnTestB();">(123) 456-7890 (no IE, no FF)</button>
	<button type="button" onclick="ftnTestC();">123-456-7890 (works in IE, no FF)</button>
</form>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:4)

不使用type="number"输入字段,而是使用type="tel"字段,因为这是您要执行的操作。数字输入字段仅用于数字。