2012-08-05 67 views
0

在我的ASP.NET表單中,我有一個文本框,使用JavaScript代碼每10秒更改一次該值。文本框的初始值爲10,每10秒鐘事件發生5次。當我點擊提交按鈕並嘗試訪問myTextBox.Text屬性時,我的值爲10,而不是我的文本框中的當前值。有什麼問題就在這裏,爲什麼我不能看到寫在我的文本框中<'的當前值ASP.NET文本框 - 文本屬性

我的客戶端代碼:

var d = 0; 
    var interval = 0; 
    function initializeMe() { 
     d = document.getElementById("<%= time.ClientID %>").innerHTML; 
     interval = self.setInterval("clock()", 10000); 
    } 
    function clock() { 
     if (d > 0) { 
      document.getElementById("<%= time.ClientID %>").innerHTML = d; 
      document.getElementById("<%= txtTime.ClientID %>").value = d.toString(); 
      d = d - 1; 
     } 
     else { 

      d = "Message"; 
      document.getElementById("<%= vrijeme.ClientID %>").innerHTML = d; 
      document.getElementById("<%= txtVrijeme.ClientID %>").value = "0"; 
     } 
    } 



<form id="form1" runat="server"> 

    <div> 

     <asp:Label ID="time" runat="server"></asp:Label> 
     <asp:TextBox ID="txtTime" runat="server"></asp:TextBox> 
     <asp:Button ID="submit" runat="server" Text="Sumbmit" 
      onclick="sumbit_Click"/> 


    </div> 
</form> 

我的服務器代碼

int value = 700 - Convert.ToInt16(txtTime.Text);//But here server reads wrong value 
+2

我們展示的代碼請 – Shyju 2012-08-05 17:30:40

+1

@Shyju - 請使用請而不是請。 – Oded 2012-08-05 17:34:31

+0

@Oded:肯定:)... – Shyju 2012-08-05 17:35:03

回答

1

試試這個:

int value = Convert.toInt32(Request.Form["txtTime"]); 
+0

除非有特定原因,否則在執行WebForms時,您不需要訪問Request.Form。在這個例子中,它絕對不是必需的 - 我的答案中的樣本沒有它就可以正常工作。 – Richard 2012-08-05 18:00:23

1

我在猜測你的網頁上還有很多東西比你的網頁還要多在這裏坐。我用你發佈的內容打了一個快速示例,它運行良好。我已經包括下面的完整樣本 - 我建議你把它比作你找出什麼不同:

<%@ Page Language="C#" AutoEventWireup="true" %> 

<script runat="server"> 

    protected void sumbit_Click(object sender, EventArgs e) 
    { 
     int value = 700 - Convert.ToInt16(txtTime.Text); 
     lblResult.Text = value.ToString(); 
    } 

</script> 

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Label ID="time" runat="server" Text="100"></asp:Label> 
     <asp:TextBox ID="txtTime" runat="server"></asp:TextBox> 
     <asp:Button ID="submit" runat="server" Text="Sumbmit" 
      OnClick="sumbit_Click" /> 

     <hr /> 
     Result: <asp:Label runat="server" ID="lblResult" /> 
    </div> 

    </form> 

    <script type="text/javascript"> 
     var d = 0; 
     var interval = 0; 

     function initializeMe() { 
      d = document.getElementById("<%= time.ClientID %>").innerHTML; 
      interval = self.setInterval(function() { clock(); }, 1000); 
     } 
     function clock() { 
      if (d > 0) { 
       document.getElementById("<%= time.ClientID %>").innerHTML = d; 
       document.getElementById("<%= txtTime.ClientID %>").value = d.toString(); 
       d = d - 1; 
      } 
     } 

     initializeMe(); 

    </script> 
</body> 
</html>