Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法以编程方式更新移动输入_Javascript_Jquery_Input - Fatal编程技术网

Javascript 无法以编程方式更新移动输入

Javascript 无法以编程方式更新移动输入,javascript,jquery,input,Javascript,Jquery,Input,因此,我有一个输入[type=“number”](最好带有模式=“[0-9]*”属性,以便在iOS中显示正确的键盘(iPhone在iPad上不工作)) 当我以编程方式更新该值时,iOS会把它搞砸,Android会完全拒绝工作 我这里有一个小测试用例: 基本上,键盘(至少在iOS上)不会给你一个小数位,所以我想为用户添加一个小数位 $('input').on('keyup', function(){ var val = this.value.replace('.',''); if(

因此,我有一个
输入[type=“number”]
(最好带有
模式=“[0-9]*”
属性,以便在iOS中显示正确的键盘(iPhone在iPad上不工作))

当我以编程方式更新该值时,iOS会把它搞砸,Android会完全拒绝工作

我这里有一个小测试用例:

基本上,键盘(至少在iOS上)不会给你一个小数位,所以我想为用户添加一个小数位

$('input').on('keyup', function(){
    var val = this.value.replace('.','');
    if(val.length <= 2){
        this.value = '.'+val
    }else{
        this.value = val.slice(0,-2) +'.'+ val.slice(-2);
    }
});
$('input')。在('keyup',function()上{
var val=此.value.replace('.','');

如果(val.length我想我可以用
input type=“number”
替换
input type=“number”
,它提供了一个类似的键盘,可以在iOS/Android上正常工作,但会带来额外的字符,;+*#-()N

因此,我提出的解决方案是使用
type=“tel”
并去掉那些额外的字符

$('input').on('keyup change', function() {
    var val = this.value;
    val = val.replace(/\D/g, '');

    if (val.length <= 2) {
        this.value = '.' + val;
    } else {
        this.value = val.slice(0, -2) + '.' + val.slice(-2);
    }
});​
$('input')。在('keyup change',function()上{
var val=该值;
val=val.replace(/\D/g');
if(val.length