【问题标题】:On BLUR not firing在 BLUR 上不开火
【发布时间】:2012-10-15 16:28:06
【问题描述】:

最近从编写小型 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()"/>

【问题讨论】:

    标签: javascript asp.net vb.net onblur


    【解决方案1】:

    Javascript 区分大小写。将您的电话改为return SumCalc(),同样Window.alert 也不起作用,请改用window.alert 或只使用alert

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

    【讨论】:

    • 快到了。警报响起。然而,第三个文本框没有被填充。我无法调试和单步执行,所以我至少知道我很接近。
    • 检查控制台是否有错误(在 Chrome 中按 F12 显示开发者工具)。
    • 我可以将“var”添加到警报中以查看它通过时的值吗?
    • 好吧,你可以alert(num1);console.log(num1);在分配后等等。但是你应该能够在控制台中看到错误..
    • onblur 不是元素文本框的有效属性
    【解决方案2】:

    有两个问题,

    一个

    onblur = "return sumCalc()" 更改为onblur = "return SumCalc()"/&gt;

    你调用的 JS 函数有错别字。

    两个

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

    【讨论】:

      【解决方案3】:

      通过 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;
      })
      

      【讨论】:

      • 我需要更多的帮助。我应该在哪里添加这段代码?
      • 我根本无法启动它,还必须进行一些小改动。-----------$("#LeaveHoursTextBox").blur(function( ){ ----------to------------- $(document.getElementById("LeaveHours2TextBox")).模糊(函数(){
      • 您不能在第二个选项中使用 jquery...$("#LeaveHoursTextBox"). 将只选择具有 LeaveHoursTextBox id 的元素。您必须添加对此函数的调用...例如$(document).ready()
      • 尝试添加这个:&lt;script type="text/javascript"&gt;$(document).ready(function() { $("#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; }) });&lt;/script&gt;
      猜你喜欢
      • 2014-11-15
      • 1970-01-01
      • 2014-01-14
      • 1970-01-01
      • 2016-08-17
      • 2017-03-13
      • 2016-07-07
      • 1970-01-01
      • 2012-06-16
      相关资源
      最近更新 更多