Javascript onblur事件未触发

Javascript onblur事件未触发,javascript,onblur,Javascript,Onblur,我不知道为什么这不是开火,我不想花太多时间在这上面。有人有什么想法吗 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <SCRIPT TYPE="text/ja

我不知道为什么这不是开火,我不想花太多时间在这上面。有人有什么想法吗

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<SCRIPT TYPE="text/javascript">
    function getTimes(){
        var minuteOne = document.getElementById(minOne).value;
        var minuteTwo = document.getElementById(minTwo).value;
        var minuteThree = document.getElementById(minThree).value;
        var minuteFour = document.getElementById(minFour).value;
        var minuteFive = document.getElementById(minFive).value;
        var hourOne = document.getElementById(hourOne).value;
        var hourTwo = document.getElementById(hourTwo).value;
        var hourThree = document.getElementById(hourThree).value;
        var hourFour = document.getElementById(hourFour).value;
        var hourFive = document.getElementById(hourFive).value;
        var totalMinutes = minuteOne + minuteTwo + minuteThree + minuteFour + minuteFive;
        var extraHours = totalMinutes / 60;
        var minutesLeft = totalMinutes % 60;
        var totalHours = hourOne + hourTwo + hourThree + hourFour + hourFive + extraHours;

        document.getElementById(totalMinute).value = minuteLeft;
        document.getElementById(totalHour).value = totalHours;
    }
</SCRIPT>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Time Calculator</title>

</head>

<body>

    <table>
        <tr align="center">
            <td>Day</td><td>Hour</td><td>Minutes</td>
        </tr>
        <tr>
            <td>Monday</td><td><input name="hourOne" id="hourOne" type="text" size="5" maxlength="5" value="0" onblur="getTimes()" /></td><td><input name="minOne" id="minOne" type="text" size="5" maxlength="5" value="0" onblur="getTimes()" /></td>
        </tr>
        <tr>
            <td>Tuesday</td><td><input name="hourTwo" id="hourTwo" type="text" size="5" maxlength="5" value="0" onblur="getTimes()" /></td><td><input name="minTwo" id="minTwo" type="text" size="5" maxlength="5" value="0" onblur="getTimes()"/></td>
        </tr>
        <tr>
            <td>Wednesday</td><td><input name="hourThree" id="hourThree" type="text" size="5" maxlength="5" value="0" onblur="getTimes()" /></td><td><input name="minThree" id="minThree" type="text" size="5" maxlength="5" value="0" onblur="getTimes()" /></td>    
        </tr>
        <tr>
            <td>Thursday</td><td><input name="hourFour" id="hourFour" type="text" size="5" maxlength="5" value="0" onblur="getTimes()" /></td><td><input name="minFour" id="minFour" type="text" size="5" maxlength="5" value="0" onblur="getTimes()" /></td>   
        </tr>
        <tr>
            <td>Friday</td><td><input name="hourFive" id="hourFive" type="text" size="5" maxlength="5" value="0" onblur="getTimes()" /></td><td><input name="minFive" id="minFive" type="text" size="5" maxlength="5" value="0" onblur="getTimes()" /></td>    
        </tr>
        <tr>
            <td>Total Time</td><td><input name="totalHour" id="totalHour" type="text" size="5" maxlength="5" value="0" /></td><td><input name="totalMinute" type="text" id="totalMinute" size="5" maxlength="5" value="0" /></td>
        </tr>
    </table>
    <input name="getTime" type="button" value="Get Time" onclick="getTimes()" />

</body>
</html>

函数getTimes(){
var minuteOne=document.getElementById(minOne).value;
var minuteTwo=document.getElementById(minTwo).value;
var minuteTree=document.getElementById(minThree).value;
var minuteFour=document.getElementById(minFour).value;
var minuteFive=document.getElementById(minFive).value;
var hourOne=document.getElementById(hourOne).value;
var hourTwo=document.getElementById(hourTwo).value;
var hourtree=document.getElementById(hourTree).value;
var hourFour=document.getElementById(hourFour).value;
var hourFive=document.getElementById(hourFive).value;
var totalMinutes=minuteOne+minuteTwo+MinuteTree+minuteFour+MinuteFove;
var额外小时数=总分钟数/60;
var minutesLeft=总分钟数%60;
var totalHours=hourOne+hourTwo+HourTree+hourFour+hourFive+extraHours;
document.getElementById(totalMinute).value=minuteLeft;
document.getElementById(totalHour).value=totalHours;
}
时间计算器
日小时数
星期一
星期二
星期三
星期四
星期五
总时间

文档。getElementById
接受一个字符串。您正在给它一个未声明的值:

var minuteOne = document.getElementById(minOne).value;
应该是

var minuteOne = document.getElementById("minOne").value;
document.getElementById('totalMinute').value = minutesLeft;
注意引号。第二,这行:
minuteOne+minuteTwo+minuteTree+minuteFour+minuteFove
是浓缩字符串,不做加法。您需要对所有值调用
parseInt
,以便它们进行加法,而不是concat字符串

第三,这条线

document.getElementById('totalMinute').value = minuteLeft;
应该是

var minuteOne = document.getElementById("minOne").value;
document.getElementById('totalMinute').value = minutesLeft;
看起来您的变量输入有误。应用所有修复后,JavaScript如下所示:

function getTimes(){
    var minuteOne = parseInt(document.getElementById('minOne').value);
    var minuteTwo = parseInt(document.getElementById('minTwo').value);
    var minuteThree = parseInt(document.getElementById('minThree').value);
    var minuteFour = parseInt(document.getElementById('minFour').value);
    var minuteFive = parseInt(document.getElementById('minFive').value);
    var hourOne = parseInt(document.getElementById('hourOne').value);
    var hourTwo = parseInt(document.getElementById('hourTwo').value);
    var hourThree = parseInt(document.getElementById('hourThree').value);
    var hourFour = parseInt(document.getElementById('hourFour').value);
    var hourFive = parseInt(document.getElementById('hourFive').value);
    var totalMinutes = minuteOne + minuteTwo + minuteThree + minuteFour + minuteFive;
    var extraHours = Math.floor(totalMinutes / 60);
    var minutesLeft = totalMinutes % 60;
    var totalHours = hourOne + hourTwo + hourThree + hourFour + hourFive + extraHours;
    document.getElementById('totalMinute').value = minutesLeft;
    document.getElementById('totalHour').value = totalHours;
}

它似乎可以工作。

document.getElementById
接受一个字符串。您正在给它一个未声明的值:

var minuteOne = document.getElementById(minOne).value;
应该是

var minuteOne = document.getElementById("minOne").value;
document.getElementById('totalMinute').value = minutesLeft;
注意引号。第二,这行:
minuteOne+minuteTwo+minuteTree+minuteFour+minuteFove
是浓缩字符串,不做加法。您需要对所有值调用
parseInt
,以便它们进行加法,而不是concat字符串

第三,这条线

document.getElementById('totalMinute').value = minuteLeft;
应该是

var minuteOne = document.getElementById("minOne").value;
document.getElementById('totalMinute').value = minutesLeft;
看起来您的变量输入有误。应用所有修复后,JavaScript如下所示:

function getTimes(){
    var minuteOne = parseInt(document.getElementById('minOne').value);
    var minuteTwo = parseInt(document.getElementById('minTwo').value);
    var minuteThree = parseInt(document.getElementById('minThree').value);
    var minuteFour = parseInt(document.getElementById('minFour').value);
    var minuteFive = parseInt(document.getElementById('minFive').value);
    var hourOne = parseInt(document.getElementById('hourOne').value);
    var hourTwo = parseInt(document.getElementById('hourTwo').value);
    var hourThree = parseInt(document.getElementById('hourThree').value);
    var hourFour = parseInt(document.getElementById('hourFour').value);
    var hourFive = parseInt(document.getElementById('hourFive').value);
    var totalMinutes = minuteOne + minuteTwo + minuteThree + minuteFour + minuteFive;
    var extraHours = Math.floor(totalMinutes / 60);
    var minutesLeft = totalMinutes % 60;
    var totalHours = hourOne + hourTwo + hourThree + hourFour + hourFive + extraHours;
    document.getElementById('totalMinute').value = minutesLeft;
    document.getElementById('totalHour').value = totalHours;
}

它似乎可以工作。

document.getElementById(totalMinute).value=minuteLeft

应该是

var minuteOne = document.getElementById("minOne").value;
document.getElementById('totalMinute').value = minutesLeft;

document.getElementById(totalMinutes).value=minutesLeft


始终检查变量名。

document.getElementById(totalMinute).value=minuteLeft

getElementById(minOne)
应该是

var minuteOne = document.getElementById("minOne").value;
document.getElementById('totalMinute').value = minutesLeft;

document.getElementById(totalMinutes).value=minutesLeft

始终检查变量名

getElementById(minOne)
当您实际尝试将minOne等作为文本字符串使用时,您正在将其作为变量传入。将它们改为引号,即

getElementById(“minOne”)

当您实际尝试将minOne等作为文本字符串使用时,您正在将其作为变量传入。将它们改为引号,即

getElementById(“minOne”)


@shinjuo进行了编辑,以包含发现的其他bug。我在最后一分钟进行了更改,添加了
var extraHours=Math.floor(totalMinutes/60)使“小时”文本框不包含分钟的小数部分。@shinjuo进行了编辑,以包含发现的其他错误。我在最后一分钟进行了更改,添加了
var extraHours=Math.floor(totalMinutes/60)这样“小时”文本框就不会包含分钟的小数部分。@jambriz哇,对一个两岁的孩子来说,这是多么讨厌的评论啊question@jambriz哇,对一个两年前的问题来说,这真是一个令人讨厌的评论