最近从编写小型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()"/>
答案 0 :(得分:3)
Javascript区分大小写。将您的通话更改为return SumCalc()
,Window.alert
也不会有效,请改为使用window.alert
或alert
。
进一步删除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;
})