1

试图弄清楚如何在 JavaScript 中设置输入值,并确保将其发布到 ASP.NET 中的服务器。它也必须被禁用字段。

我试过这个:

<asp:TextBox ID="DriverIdTextBox" runat="server" enabled="false" />

然后在 jQuery 中:

$("*[id$='DriverIdTextBox']").val("JAVA");

这在发布时不会在后端给我“JAVA”。当我启用文本框时 - 我在服务器上得到这个值就好了。我试图在客户端启用控制和禁用,如下所示:

$("*[id$='DriverIdTextBox']").val("JAVA").prop("disabled", true);

同样的问题 - 值未发布到服务器。

基本上我想设置只读标签/输入任何内容,以便用户可以阅读它,但同时我想在用户提交表单时将其发布到服务器。我怎样才能做到这一点?

4

3 回答 3

2

您还可以将元素设置为只读而不是禁用,以获取发布到服务器的值。

于 2013-10-25T16:48:26.373 回答
1

如果您禁用了文本框,它将不会发回服务器。

将标签设置为文本框的值,并将隐藏字段设置为该值。

 <asp:HiddenField ID="hdnDriverId" runat="server" />
 <asp:Label ID="lblhdnDriverId" runat="server" Text="Label"></asp:Label>

    this.lblhdnDriverId.Text = "";
    this.hdnDriverId.Value = "";

$("*[id$='lblhdnDriverId']").val("JAVA");
$("*[id$='hdnDriverId']").val("JAVA");
于 2013-04-07T02:08:15.537 回答
0

你可以像这样得到它的价值

   this.Request.Form[DriverIdTextBox.ClientId]

禁用的元素不会与表单一起提交,您必须在回发之前删除“禁用”属性

于 2013-04-07T02:04:15.607 回答