有没有办法从(
)获取插入的字符串(任何种类)<input type="number" id='zipCode' name='zipcode' />
我试图在控制台中获得价值:
console.log(document.getElementbyId('zipCode').value);
当插入任何无效字符串(包含任何字母或其他特殊字符的字符串)时,仅提供空白输出,当实际将字段留空时也是相同的。但我想检索实际插入的值,以便我可以区分并验证空白字段,并显示错误消息&#34; Zipcode Field Empty!&#34; 以及带有错误消息的无效字符串< strong>&#34;邮政编码无效!&#34; 。 有没有办法从输入类型中检索任何类型的插入字符串=&#39; number&#39;场?
答案 0 :(得分:4)
用于邮政编码的HTML输入字段应为type = text,并使用pattern属性为浏览器提供提示
数字邮政编码 - 在很小程度上 - 具有误导性。
数字应该意味着数字。邮政编码不会添加或减少或参与任何数字操作。 12309 - 12345不计算从斯克内克塔迪市中心到我家附近的距离。
邮政编码不是数字 - 它们恰好用限制字母编码 - 我建议避免使用数字字段。同样适用于信用卡或社交号码
你可以<input type="text" pattern="\d*">
。这将导致数字键盘出现在iOS(和Android?)上。也许是pattern="[0-9]*"
“文本字段的语义正确标记仍然可以 包含空格和其他特殊字符
<input type="text" inputmode="numeric"/>
但是据我所知,当inputmode是 由WhatWG推荐,任何浏览器都不支持它。它的 意图是在设备上向用户显示数字小键盘 拥有它,但仍然表现为文本输入。“ - davidelrizzo
答案 1 :(得分:1)
从我记得的内容(例如此处 - HTML5 input type=number value is empty in Webkit if has spaces or non-numeric characters?)开始,无法在输入类型设置为数字的情况下执行此操作。