Javascript 论模糊不射击
最近从编写小型vb应用程序转变为web应用程序。目前还没有转换到C# 尝试获取ASP.net表单以添加两个文本框并在另一个文本框中显示结果 在插入模式下使用Javascript 论模糊不射击,javascript,asp.net,vb.net,onblur,Javascript,Asp.net,Vb.net,Onblur,最近从编写小型vb应用程序转变为web应用程序。目前还没有转换到C# 尝试获取ASP.net表单以添加两个文本框并在另一个文本框中显示结果 在插入模式下使用FormView控件打开ASP.NET 4.0窗体。 问题是,无论我点击框内、框内或框外的标签,它似乎都不会触发JavaScript <script language="javascript" type="text/javascript"> function SumCalc() { Window.alert("On Bl
FormView
控件打开ASP.NET 4.0窗体。
问题是,无论我点击框内、框内或框外的标签,它似乎都不会触发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>
函数SumCalc()
{
窗口警报(“模糊”);
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”)。值=总时间;
}
下面是我的html的一部分。很长的一页,所以我没有发布全部内容
<asp:TextBox ID="LeaveHoursTextBox" runat="server"
Text='<%# Bind("LeaveHours") %>'
onblur = "return sumCalc()"/>
Javascript区分大小写。将调用更改为
return SumCalc()
,也更改为Window.alert
将不起作用,请使用Window.alert
或仅使用alert
进一步从onblur=“return-sumCalc()”
中删除空格,有效的html将是onblur=“return-sumCalc()”
有两个问题
一个
将onblur=“return-sumCalc()”
更改为onblur=“return-sumCalc()”/>
您调用的JS函数有一个输入错误
两个
更改窗口警报(“模糊”)代码>至警报(“模糊”)代码>通过jQuery绑定:
您可以这样做:
$("#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;
})
差不多了。警报响了。但是,第三个文本框没有填充。我无法调试和单步执行,因此我至少知道Im已关闭。请检查控制台是否有错误(在Chrome中,它是F12以显示开发人员工具)。我是否可以将“var”添加到警报中,以查看其传递时的值?嗯,您可以警报(num1)代码>或控制台日志(num1)代码>分配后,等等。。但是您应该能够在控制台中看到错误..onblur不是元素textbox的有效属性我需要更多的帮助。我在哪里添加代码块$(#LeaveHoursTextBox”).blur(函数(){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;})我根本无法启动它,还必须做一个小小的更改。------------$(“#LeaveHoursTextBox”).blur(函数(){--------------------到-----------------$(document.getElementById(“LeaveHours2TextBox”).blur(function(){您不能在第二个选项中使用jquery,$(“#LeaveHoursTextBox”)。
将只选择具有LeaveHoursTextBox id的元素。您必须添加对此函数的调用…如$(document)。ready()
尝试添加此:$(document)。ready(function(){$(“#LeaveHoursTextBox”)。blur(function)(){Window.alert(“模糊”);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;});