我有这个代码,但我只能在Internet Explorer中使用它 - 它在Firefox中不起作用:
var max1box = document.getElementById('length'),
max2box = document.getElementById('width');
max1 = 100;
min1 = 20;
max2 = 200;
min2 = 10;
max1box.addEventListener('change',validateValues);
max2box.addEventListener('change',validateValues);
function validateValues() {
if (this == max1box && this.value > max1 && this.value > max2box.value)
{
max1box = max2box;
max2box = this;
}
if (max1box .value > max1) {
max1box .value = max1;
}
if (max1box .value < min1) {
max1box .value = min1;
}
if (max2box.value > max2) {
max2box.value = max2;
}
if (max2box.value < min2) {
max2box.value = min2;
}
}
Javascript代码根本不起作用。好像我刚刚有两个普通的文本框。
我已在Firefox 3.6和Internet Explore 9中测试过它。
答案 0 :(得分:4)
方法
addEventListener
firefox中需要第三个参数,它是一个代表事件冒泡的布尔变量 你可以尝试
max1box.addEventListener('change',validateValues,false);
max2box.addEventListener('change',validateValues,false);
答案 1 :(得分:0)
这是getElementById
实际返回的表单元素是name
属性但不是id
的情况之一吗?如果是这样,只需添加具有相同值的id
属性,然后重试......
答案 2 :(得分:0)
你为addEventListener函数添加boolean参数,如下所示:
max1box.addEventListener('change', validateValues, false);
布尔值,指示是否在向目标节点传播事件时绑定事件(事件捕获),或者事件从目标向上冒泡(事件气泡)。分别设置为true或false。