在BLUR没有开火

时间:2012-10-25 13:15:03

标签: javascript asp.net vb.net onblur

最近从编写小型vb应用程序转变为Web应用程序。此时尚未切换到C#。

尝试获取ASP.net表单以添加几个文本框并在另一个文本框中显示结果。

在插入模式下使用FormView控件启用和ASP.NET 4.0表单。 问题是,无论我是否在框中单击,Tab键进入框中或出来它似乎都没有激发JavaScript

<script language="javascript" type="text/javascript">
function SumCalc() 
{
    Window.alert("On Blur");
    var num1 = parseInt(document.getElementById("LeaveHoursTextBox").value);
    var num2 = parseInt(document.getElementById("LeaveHours2TextBox").value);
    var num3 = parseInt(document.getElementById("LeaveHours3TextBox").value);
    var TotalTime = num1 + num2 + num3

    document.getElementById("HoursTextBox").value = TotalTime;
}
</script>

以下是我的HTML的一部分。长页面,所以我没有发布整个..

<asp:TextBox ID="LeaveHoursTextBox" runat="server" 
Text='<%# Bind("LeaveHours") %>' 
onblur = "return sumCalc()"/>

3 个答案:

答案 0 :(得分:3)

Javascript区分大小写。将您的通话更改为return SumCalc()Window.alert也不会有效,请改为使用window.alertalert

进一步删除onblur = "return sumCalc()"的空格,有效的html为onblur="return sumCalc()"

答案 1 :(得分:2)

有两个问题,

<强>一

onblur = "return sumCalc()"更改为onblur = "return SumCalc()"/>

您调用的JS函数有一个拼写错误。

<强>两个

Window.alert("On Blur");更改为alert("On Blur");

答案 2 :(得分:2)

通过jQuery blur绑定它:http://api.jquery.com/blur/

你可以这样做:

$("#LeaveHoursTextBox").blur(function(){
    Window.alert("On Blur");
    var num1 = parseInt(document.getElementById("LeaveHoursTextBox").value);
    var num2 = parseInt(document.getElementById("LeaveHours2TextBox").value);
    var num3 = parseInt(document.getElementById("LeaveHours3TextBox").value);
    var TotalTime = num1 + num2 + num3

    document.getElementById("HoursTextBox").value = TotalTime;
})