我有以下情况。我已经通过从服务器端调用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值被完美分配。但它没有在第二个文本框中显示。
答案 0 :(得分: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>
答案 1 :(得分:1)
如果您必须使用JavaScript在客户端设置TextBox,
您必须将其替换为 HTML&gt;输入(文本)强>
<asp:TextBox ID="txt1" runat="server" ></asp:TextBox>
替换为:
<input id="txt1" type="text" runat="server" />
然后在html源代码中将其更改为 runat =“server”
现在您可以在客户端更改其文本,并在服务器端获取其值: txt1.Value
我希望有用。
答案 2 :(得分: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在服务器端使用文本框值。
使用此链接供您参考。 Jquery Ajax in ASP.Net