Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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_Html - Fatal编程技术网

Javascript 只有输入文本工作正常

Javascript 只有输入文本工作正常,javascript,jquery,html,Javascript,Jquery,Html,因此,我有一个脚本,它可以得到输入的总数和剩余完成的百分比。但是我的脚本只得到type=“text”。有没有办法解决这个问题?这是我的密码 var bad = 0; var cback=function(){ bad=0; $('.form :text').each(function (i,e) { if ($.trim($(e).val()) == "") bad++; }); $('.congrats').css("display", "blo

因此,我有一个脚本,它可以得到输入的总数和剩余完成的百分比。但是我的脚本只得到
type=“text”
。有没有办法解决这个问题?这是我的密码

var bad = 0;
var cback=function(){
    bad=0;
    $('.form :text').each(function (i,e) {
        if ($.trim($(e).val()) == "") bad++;
    });
    $('.congrats').css("display", "block").text(bad + ' missing(Completed '+count()+')');
     //else $('.congrats').hide();

     $(".top").css("width", 100-(bad / $('.form :text').length)*100 + "%");
}
$(document).delegate('.form :text','focus',cback);
$(document).delegate('.form :text','keyup',cback)

function count(){
    return 100-(bad / $('.form :text').length)*100 + "%"
};
那么,我怎样才能拥有
type=“password”
等等呢?我是否对所有这些都使用相同的代码?伙计们,你们的方法是什么?

试试看



您可以使用以下选择器获取所有输入

$('.form input')
结果见小提琴:
你会这样做的

var inputs = $('.form :input').not('button, [type="button"], [type="submit"]').on({input: cback});

function cback() {
    var bad = inputs.filter(function() {
        return !this.value.length;
    }).length,
        total = inputs.length;

    $('.congrats').show().text(bad + ' missing(Completed ' + ((100 - (bad / total) * 100).toFixed(2) + "%") + ')');
    $(".top").css("width", 100 - (bad / total) * 100 + "%");
}

但是如何排除提交按钮?
不是
,它不应该与此选择器匹配。
。它只是在寻找
@user302975对不起,但是为什么不能使用
..
而不是
?完整的示例是什么样的?因为我还有
css(“display”,“block”).text
,我不确定它会是什么样子work@user302975只需将
$('.form:text')
替换为
$('.form:text,.form[type=“password”]')
。它仍然不起作用。。。看看我代码的底部,我也提到了很多times@user302975你可以看到,密码不算数。我怎样才能算数?
$('.form input')
$('.form input').not(':input[type=submit]');
var inputs = $('.form :input').not('button, [type="button"], [type="submit"]').on({input: cback});

function cback() {
    var bad = inputs.filter(function() {
        return !this.value.length;
    }).length,
        total = inputs.length;

    $('.congrats').show().text(bad + ' missing(Completed ' + ((100 - (bad / total) * 100).toFixed(2) + "%") + ')');
    $(".top").css("width", 100 - (bad / total) * 100 + "%");
}