相关疑难解决方法(0)

如何将原始值设为<input type ="number">字段?

我怎样才能获得一个领域的"真实"价值<input type="number">


我有一个input盒子,我正在使用更新的HTML5输入类型number:

<input id="edQuantity" type="number">
Run Code Online (Sandbox Code Playgroud)

这主要在Chrome 29中受支持:

在此输入图像描述

我现在需要的是能够读取用户在输入框中输入的"原始"值.如果用户输入了一个数字:

在此输入图像描述

然后edQuantity.value = 4,一切都很好.

但是如果用户输入了无效文本,我想将输入框的颜色设置为红色:

在此输入图像描述

不幸的是,对于type="number"输入框,如果文本框中的值不是数字,则value返回空字符串:

edQuantity.value = "" (String);
Run Code Online (Sandbox Code Playgroud)

(至少在Chrome 29中)

如何获得控件的"原始"<input type="number">

我试着浏览Chrome的输入框的其他属性列表:

在此输入图像描述

我没有看到任何类似于实际输入的东西.

我也找不到方法来判断盒子是否"空".也许我可以推断:

value          isEmpty        Conclusion
=============  =============  ================
"4"            false          valid number
""             true           empty box; not a problem
""             false          invalid text; color it red
Run Code Online (Sandbox Code Playgroud)

注意:您可以忽略水平规则后的所有内容; 它只是填充物来证明这个问题.另外:不要将示例与问题混淆.人们可能要回答这个问题的原因其他比着色盒红(一个例子:转换文本"four"成拉丁"4"onblur事件中的符号) …

javascript validation html5 input

111
推荐指数
3
解决办法
5万
查看次数

HTML5输入类型=数字值在Webkit中是空的,如果有空格或非数字字符?

这对我来说很奇怪,但是在Webkit浏览器(Chrome/Safari,而不是 Firefox)上,如果我在一个数字字符串中包含一个空格,<input type=number>那么该value输入是空的.

看到这个JSFiddle:http://jsfiddle.net/timrpeterson/CZZEX/5/

这是代码:

<input id='withOutspace' type='number' value='123'>
<input id='with_space' type='number' value='123 123'>
<button>click</button>

$('button').click(function(){ 
    alert("withOut:"+$('#withOutspace').val()+" |||| with:"+$('#with_space').val());
});
Run Code Online (Sandbox Code Playgroud)

如果你去这个JSFiddle,你会注意到with_space输入是空的.但是如果你把它放在一个有空格或任何非数字字符的数字中,警报会说输入是空的.

显然,这对于使用信用卡号等进行表单验证来说是一场灾难.所以有人对此有所攻击吗?

javascript forms validation html5 input

26
推荐指数
2
解决办法
3万
查看次数

标签 统计

html5 ×2

input ×2

javascript ×2

validation ×2

forms ×1