0

私の ASP.NET フォームには、JavaScript コードを使用して 10 秒ごとに値が変更される 1 つのテキスト ボックスがあります。テキスト ボックスの初期値は 10 で、10 秒のイベントごとに 5 ずつ大きくなります。送信ボタンをクリックして myTextBox.Text プロパティにアクセスしようとすると、テキスト ボックスの現在の値ではなく、値 10 が返されます。ここでの問題は何ですか、なぜテキストボックスに書かれた現在の値が見えないのですか<'

私のクライアント側のコード:

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 
4

2 に答える 2

1

これを試して:

 int value = Convert.toInt32(Request.Form["txtTime"]);
于 2012-08-05T17:50:28.680 に答える
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>
于 2012-08-05T17:59:26.557 に答える