1

AJAX コントロール ツールキットを使用して、ASP.NET ページにスライダーを作成しました。スライダーの値を増減するために、「プラス」と「マイナス」のボタンも配置しました。各ボタンのクライアント クリック イベントで、いくつかの計算を行いasp:label、スライダーの下に表示する Javascript 関数を使用しました。問題は、スライダーをドラッグして値を変更すると、関数が呼び出され、計算がラベルとして表示されますが、スライダーの値をボタン (「プラス」または「マイナス」ボタン) で変更すると、 、関数が呼び出されますが、計算はラベルとして数秒間のみ表示されます。1 2 秒後にラベルが消え、何も表示されません。

誰かが私の問題について何か知っていますか?

コードは次のとおりです。

  1. 「プラス」ボタン:

    <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/icon_plus1.jpg" 
    

    style="z-index: 1; 左: 830px; 上: 130px; 位置: 絶対" onclientclick="change1();"/>

  2. これは私が呼び出している関数です:

    function change1() {
       var object = document.getElementById("TextBox");
       var val = object.value;
       object.value = parseInt(val) + 5;
       updatesum();
     }
    
  3. 主な計算はupdatesum()関数にあります。

    function updatesum() {
    var principal = slider1Value;
    var daily_interest_rate = eval((360 / 100) / 365);
    var transaction_fee = eval(5.50);
    
    var number_of_days = slider2Value;
    var due_date = addDays(eval(number_of_days)).toDateString();
    
    var interest_amount = (eval(daily_interest_rate) * eval(number_of_days) *
    eval(eval(principal) + eval(transaction_fee))) + eval(transaction_fee);
    var total_amount = interest_amount + eval(principal);
    
    lblDate.innerHTML = due_date;
    lblBorrow.innerHTML = "&pound " + slider1Value;
    lblInter.innerHTML = "&pound " + interest_amount.toFixed(2);
    lblRepay.innerHTML = "&pound " + total_amount.toFixed(2);
    
    }
    
  4. スライダーとそのターゲット コントロール ID テキスト ボックス:

    <ajaxToolkit:SliderExtender ID="SliderExtender2" runat="server" length="400"
    Enabled="True" Maximum="400" Minimum="0" Steps="80" TargetControlID="TextBox"
    BoundControlID="TextBox1" RailCssClass="SliderRail">
    </ajaxToolkit:SliderExtender>
    <asp:TextBox ID="TextBox" runat="server" 
    OnChange ="javascript:updatesum(this);"   
    style="z-index: 1; top: 130px; position: absolute; left: 430px; bottom: 130px"
    </asp:TextBox>
    
4

0 に答える 0