想要使用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;
}
答案 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>