簡體   English   中英

在服務器端頁面加載事件中,javascript中設置的文本框值不可用

[英]textbox value set in javascript is not avaliable in serverside page load event

我有以下情況。我已經通過從服務器端調用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值被完美分配。但它沒有在第二個文本框中顯示。

在代碼中無法訪問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>

我用波紋管方法解決了我的問題。

如果您必須使用JavaScript在客戶端設置TextBox,

您必須用HTML>輸入(文本)替換它

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

用。。。來代替:

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

然后在html源代碼中將其更改為runat =“server”

現在,您可以在客戶端更改其文本,並在服務器端獲取其值: txt1.Value

我希望有用。

如果您將在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函數之前指定一些值。

UPDATE

唯一的解決方案是您必須使用Jquery Ajax在服務器端使用文本框值。

使用此鏈接供您參考。 ASP.Net中的Jquery Ajax

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM