4

最近、小さなvbアプリの作成からWebアプリへの変更。現時点ではC#に切り替えていません。

ASP.netフォームを取得して、いくつかのテキストボックスを追加し、結果を別のテキストボックスに表示しようとしています。

FormViewこれはオンであり、挿入モードでコントロールを使用するASP.NET4.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()"/>
4

3 に答える 3

3

Javascriptでは大文字と小文字が区別されます。呼び出しをに変更します。これreturn SumCalc()Window.alert機能しないか、使用するwindow.alertか、alert代わりに使用します。

さらにスペースを削除するとonblur = "return sumCalc()"、有効なhtmlはになります onblur="return sumCalc()"

于 2012-10-25T13:17:57.297 に答える
3

2つの問題があります、

1

onblur = "return sumCalc()"に変更onblur = "return SumCalc()"/>

呼び出しているJS関数にタイプミスがあります。

Window.alert("On Blur");に変更alert("On Blur");

于 2012-10-25T13:19:01.700 に答える
2

jQueryブラーを介してバインドします: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;
})
于 2012-10-25T13:20:42.187 に答える