【发布时间】:2012-08-24 08:54:11
【问题描述】:
这可能是一个愚蠢的问题或错字,但我还是要问...我有以下表格,当提交表格时,我想检查 input type="number" 的所有值并确保如果用户出于某种原因在输入的开头放置了一个零,例如 01、025、0100,只要值不为零,就可以删除第一个零。使用 jQuery 选择器让一段简单的 JavaScript 变得更加容易。注意这里的所有文本框都是type="number" 而不是type="text" 请注意我的输入
这是我的代码:
$('input[type=number]').each(function(){
// only if the string is not zero
if(this.value.charAt(0) == "0" && this.value != "0"){
this.value = this.value.substring(1);
}
});
但是,当我回来全面测试我的表单时,我发现我的代码不起作用!所以我添加了以下内容以写入控制台以检查发生了什么:
console.log("typeof:" + typeof(this.value) + " " + this.id + " char:" + this.value.charAt(0) + " val:" + this.value )
这给了我以下输出,请注意最后 4 个不具有零值的项目:
当用户更改默认值零时,为什么我没有收到this.value.charAt(0)?
【问题讨论】:
-
会不会是输入中有空格?
-
@nyarlathotep:把它作为答案,我会加一个你。输出显示“val:”和“04”之间的空格(作为最后一个示例)。
-
@nyarlathotep:把它作为答案
-
是的,绝对是空间问题。
-
作为旁注,您的代码是否处理多个零?乍一看,“001”的输入会被修剪为“01”,这可能不是我们想要的......
标签: javascript html