如何使用javascript在asp:textbox中显示值

时间:2014-01-14 11:13:43

标签: javascript asp.net

想要使用JavaScript在asp:textbox中显示数据。当我使用HTML文本框时,该值显示在文本框中。但使用asp:Textbox时不会显示数据。

function SearchDealer()
{
    $.ajax(
    {
        async: false,
        type: "POST",
        url: "DealerDetails.aspx/GetDealerDetails",
        data: "{DlrId:'" + dealerID + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data)
        {  
            //This is a html text box so value is dsplayed.
            document.getElementById('txt_sapcode').value = data.d.sapcode;

            //No values displayed in this asp:textBox
            document.getElementById('tex_dealername').value = data.d.DealerName;
            document.getElementById('txt_addr1').value = data.d.Add1;
        },
        error: function ()
        {
            alert("Failed to update details.");
        }
    });
    srchflg = true;
}

5 个答案:

答案 0 :(得分:2)

asp:Textbox控制生成唯一ID,因此:

<asp:Textbox ID="myTextBox" runat="server" Text="Hello, World" />

可以生成这样的内容:

<input type="text" id="MyControl_myTextBox" value="Hello, World" />

为了获取ASP.NET生成的ID,您可以使用javascript中的ClientID属性:

document.getElementById('<%=myTextBox.ClientID%>').value;

所以从你的例子:

document.getElementById('<%=tex_dealername.ClientID%>').value;

如果您的SearchDealer函数位于外部javascript文件中,则无法访问ClientID属性,因此您需要从ASP.NET页面传递它:

<!-- This file contains your SearchDealer function -->
<script src="externalFile.js"></script>
<!-- Call SearchDealer with a parameter from your .NET page -->
<script>
    SearchDealer(document.getElementById('<%=tex_dealername.ClientID%>').value);
</script>

您的函数定义需要声明为:

function SearchDealer(dealerName) {
    // Do something with dealerName
}

答案 1 :(得分:1)

使用ASP.NET控件,为您提供在服务器端生成的唯一ID,您的ID如下所示ctl00_contentPlaceHolder_tex_dealername

客户端代码:

$("input[id$='tex_dealername']").val(data.d.DealerName);  //option 1
$('<%= tex_dealername.ClientID %>').val(data.d.DealerName); //option 2 

或者如果您分配了任何唯一的类,则按类名称调用

$('.yourClassName').val(data.d.DealerName);

答案 2 :(得分:1)

对于Html控件使用:  $( “#TextboxId”)VAL( “值”);

对于Asp.net文本框控件使用:  $( “[ID $ = TextboxId]”)VAL( “值”);

答案 3 :(得分:0)

将一个CssClass属性添加到asp:Textbox并使用jquery获取它($(&#34; .class&#34;))

答案 4 :(得分:0)

为您的案件提供一些方法:

1.使用ClientID:

document.getElementById('<%=tex_dealername.ClientID%>')

2.将CssClass添加到TextBox控件:

<asp:Textbox ID="myTextBox" runat="server" Text="Hello, World" CssClass="TestClass" />

然后使用类选择器。

3.只需在web.config中更改ClientIDMode:

<pages clientIDMode="Static" />

内的

<system.web></system.web>