1

我使用 AJAX 控件工具包在 ASP.NET 页面中创建了一个滑块。为了增加和减少滑块的值,我还放置了一个“加号”和一个“减号”按钮。在每个按钮的客户端单击事件中,我使用了一个 Javascript 函数,该函数将进行一些计算并将其显示为asp:label滑块下方。现在的问题是,如果我通过拖动来更改滑块的值,则调用该函数并将计算显示为标签,但是,如果我通过按钮(“加号”或“减号”按钮)更改滑块的值,该函数被调用,但计算仅显示几秒钟作为标签。1 2 秒后标签消失,什么也没有显示。

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

这是代码:

  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. 滑块及其目标控件 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