Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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 input.value未定义_Javascript_Jquery - Fatal编程技术网

Javascript input.value未定义

Javascript input.value未定义,javascript,jquery,Javascript,Jquery,我需要在一个领域验证自己;合法的是唯一的数字 这是简单的HTML: <div class="form-group"> <label for="superficie">Superficie</label> <input type="text" class="form-control required-field" data-type="number" name="superficie" /> </div> Console

我需要在一个领域验证自己;合法的是唯一的数字

这是简单的HTML:

<div class="form-group">
    <label for="superficie">Superficie</label>
    <input type="text" class="form-control required-field" data-type="number" name="superficie" />
</div>
Console向我返回错误:

input.value未定义


input
变量包含一个jQuery对象,该对象没有
属性。要访问该值,您需要使用
val()
方法,或者可以为函数提供本机HTMLElement:

validate(this, input_type);
最后,值得注意的是,您可以简化代码,因为它通过
this
挂起对元素的引用:

$('.current .required-field').keyup(validate);

function validate() {
    var $el = $(this);
    switch ($el.data('type')) {
        case 'number':
            $el.val(function(i, v) {
               return v.replace(/[^0-9\.]/g, '');
            });
            break;
    }
}

另外,建议OP优化事件绑定。它现在是在
内部完成的。每个
还可以进一步改进答案添加
模式
还有一件事,我认为
如果(input.val()!=cleanedValue){
是必需的。
input.val(cleanedValue);
可以直接使用谢谢大家。我认为我们是通过一个很好的解决方案一起达到这一点的:)
$('.current .required-field').keyup(validate);

function validate() {
    var $el = $(this);
    switch ($el.data('type')) {
        case 'number':
            $el.val(function(i, v) {
               return v.replace(/[^0-9\.]/g, '');
            });
            break;
    }
}