Javascript滚动和验证表单



我想通知客人,他跳过了重要的表格部分。 这就是为什么我想在他滚动并且没有检查任何人输入或将文本写入输入时将背景颜色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;

着色很好,但检查输入必须有效。

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

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

不是比较,而是作业。您需要==(或者只是对选中属性的否定,因为您想要false(。

但是,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');
}
});
});

最新更新