繁体   English   中英

Javascript滚动和验证表单

[英]Javascript scroll and validation form

我想告诉客人,他跳过了重要的表格部分。 这就是为什么我想在他滚动并且不检查任何人输入或输入文字时将背景色div更改为其他颜色的原因

我这样写

$(function(){
$(document).scroll(function(){
    if($(this).scrollTop() >= $('#questrow1').offset().top - -100) && document.getElementsByClassName("wiztype").checked = false; {
        $("#questrow1").addClass('redback');
    }
});
});

没有那个

&& document.getElementsByClassName("wiztype").checked = false;

Colorize很好,但是检查输入必须可行。

=不会比较值,而是分配值。 这是更新的表达式-

$(function() {
  $(document).scroll(function() {
    if (($(this).scrollTop() >= ($('#questrow1').offset().top - -100)) && !document.getElementsByClassName("wiztype").checked) {
      $("#questrow1").addClass('redback');
    }
  });
});

= false不是比较,而是赋值。 您将需要== (或者,因为您想要false ,所以只需要对checked属性取反)。

但是, getElementsByClassName返回元素的集合,因此您需要遍历所有元素。

另外- -100仅仅是+ 100

$(function(){
    $(document).scroll(function(){
        var checkboxes = document.getElementsByClassName("wiztype");
        var hasChecked = false;
        for(var i = 0; i < checkboxes.length; ++i) {
            if(checkboxes.item(i).checked) {
                hasChecked = true;
                break;
            }
        }
        if($(this).scrollTop() >= $('#questrow1').offset().top + 100 && !hasChecked) {
            $("#questrow1").addClass('redback');
        }
    });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM