0

次のような状況があります。サーバー側から JavaScript 関数を呼び出してテキストボックスの値を設定しました。テキストボックスの値は完全に割り当てられていますが、サーバー側ではなく、空白で表示されています。これは私のコードです。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not IsPostBack Then
        Page.ClientScript.RegisterStartupScript(Me.GetType(), "set", "setValue();", True)
        TextBox1.Text = txt.Text
    End If
End Sub

これは私のjavascript関数です。

 <script type="text/javascript">
    function setValue() {
        document.getElementById("<%=txt.ClientID  %>").value = "Hello World";
    }

</script>

ここに私のマークアップがあります

<form id="form1" runat="server">
    <div>
        <asp:TextBox ID="txt" runat="server">
        </asp:TextBox>
        <asp:TextBox ID="TextBox1" runat="server">
        </asp:TextBox>
        <asp:Button ID="btnClic" runat="server" Text="Click Me" />
    </div>
</form>

最初の texbox 値は完全に割り当てられていますが、2 番目のテキスト ボックスには表示されませんでした。

4

3 に答える 3

1

私は以下の方法で私の問題を解決します。

JavaScriptでクライアント側に設定しなければならないTextBoxがある場合、

HTML > Input(Text)に置き換える必要があります

<asp:TextBox ID="txt1" runat="server" ></asp:TextBox>

と置換する:

<input id="txt1" type="text" runat="server" />

次に、html ソースでrunat="server"に変更します

クライアント側でテキストを変更し、サーバー側でその値を取得できるようになりました: txt1.Value

お役に立てば幸いです。

于 2015-01-12T16:22:25.053 に答える
1

txt.Text値はコードでアクセスできません。これを実現するには、以下の JavaScript コードを使用できます。

<script type="text/javascript">
    function setValue() {

        document.getElementById("<%=txt.ClientID%>").value = "Hello World";
        document.getElementById("<%=TextBox1.ClientID%>").value = document.getElementById("<%=txt.ClientID%>").value;
    }

</script>
于 2013-02-27T06:10:38.963 に答える
0

JavaScript関数でテキストボックスを割り当てる場合、テキストボックスの値を取得できません。

この方法を試してください。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
    TextBox1.Text = "Hi"
    Page.ClientScript.RegisterStartupScript(Me.GetType(), "set", "setValue();", True)
    TextBox1.Text = txt.Text
End If
End Sub

それはあなたを助けるかもしれません。テキストボックスの値は「Hello World」になります。JavaScript 関数を呼び出す前に、いくつかの値を割り当てる必要があります。

アップデート

唯一の解決策は、サーバー側でテキストボックスの値を使用するには、Jquery Ajax を使用する必要があることです。

このリンクを参考にしてください。ASP.Net での Jquery Ajax

于 2013-02-27T08:47:49.473 に答える