我有一个元素:
<input type="number">
当我输入$ 500时,验证失败,所以
console.log("el.value");
//returns ""
这是预期的。
以下是问题: 如何检查是否有内容?
我正在尝试显示/隐藏占位符文本(不,我不能使用原生内容)。它必须是type="number"
,因为我需要强制使用手机号码键盘。
有什么想法吗?
更新
从下面的回答中我可以看出我的问题不够清楚。
1)我需要使用JavaScript来告诉我输入中是否有内容。 (我不需要提取它,我只需要查看是否有内容)。
这很棘手,因为无效内容(比如在数字输入字段中输入单词)意味着值=“”即使输入内容也是如此。
这是我需要解决的确切问题。
inputEl.validity.valid
可能会有效,但我找不到任何关于浏览器支持程度的文档。
答案 0 :(得分:0)
检查你是否可以做一些事情:
HTML
<input id="my-input" type="number">
js
$(document).ready(function(){
$('#my-input').on('input', function(){
console.log($(this).val());
});
});
答案 1 :(得分:0)
在移动设备上特别是三星在现场附加值不抛出按键事件, 您可以使用onChange =“check(this)”
来验证字段答案 2 :(得分:0)
if (variablename==""){
//no content
}
或
if (variablename.length==0){
//no content
}
答案 3 :(得分:0)
如果您需要强制输入类型为数字的唯一原因是数字键盘,为什么不改为type="text"
和pattern="\d*"
?这样您就可以按照自己喜欢的方式处理和检查输入,但仍然强制显示数字键盘。
<input type="text" pattern="\d*">
答案 4 :(得分:0)
这是实际回答它的那个:
How to get the raw value an <input type="number"> field?
基本上你可以检查input.validity.valid或input.validity.badInput。
IE不支持,但在其他地方提供良好支持。
这里有更多细节: https://developer.mozilla.org/en-US/docs/Web/API/ValidityState