如何修复非持久性javascript函数

时间:2012-09-11 16:22:24

标签: javascript asp.net javascript-events ajaxcontroltoolkit

我使用AJAX contol Toolkit在ASP.NET页面中创建了一个滑块。为了增加和减少滑块的价值,我还放了一个“加”和“放”。一个“减号”按钮。在每个按钮的客户端点击事件中,我使用了一个javascript函数,它将进行一些计算并将其显示为滑块下方的asp:标签。现在的问题是,如果我通过拖动来更改滑块的值,则调用该函数并将计算显示为标签但是,如果我通过按钮更改滑块的值(“加号”或“减号”按钮) ,调用该函数,但计算仅作为标签显示几秒钟。标签消失后,标签消失,没有显示任何内容。

有没有人对我的问题有任何想法?

以下是代码:

  1. “加”按钮: <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/icon_plus1.jpg" style="z-index: 1; left: 830px; top: 130px; position: absolute" 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. Slider及其目标控件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"
    

0 个答案:

没有答案