<script>
function fieldValidate(){
let text = document.getElementById('fname').value;
text = text.replace(/^0+/, '')
}
</script>
Id: <input type="Number" id="fname" onfocusout="fieldValidate()">
输入字段值没有变化,它没有在输入字段里面替换值exm .. 09到9。但是替换值显示在alert()messege中。
答案 0 :(得分:2)
当你这样做时
let text = document.getElementById('fname').value;
您获得value
媒体资源的值并将其复制到text
。之后更改text
(将其值替换为新值)对value
属性中该值的副本没有任何影响。
分配回value
属性:
function fieldValidate(){
let field = document.getElementById('fname');
field.value = field.value.replace(/^0+/, '');
}
无端的例子:
function fieldValidate(){
var field = document.getElementById('fname');
field.value = field.value.replace(/^0+/, '');
}
&#13;
Id: <input type="Number" id="fname" onfocusout="fieldValidate()">
&#13;
旁注:除非您正在进行转换(这很精彩),否则如果要在一般网络上使用,您仍然需要使用var
而不是let
,允许使用旧浏览器。
附注2:不要使用onxyz
- 属性样式处理程序,而应考虑使用现代事件处理来连接事件处理程序。