Asp.net文本框以不同方式显示文本和值

时间:2018-06-28 19:28:05

标签: asp.net

我正在使用javascript文档getElementById填充文本框的值。

我可以在UI中看到文本更改。但是,在后面的代码中,它显示了不同的值。我检查了输入中的元素,发现值和文本显示的有所不同。这怎么可能。

这是我在检查元素Value = '19 Bradston Street(South Bay)'上看到的,但是UI显示'35-49 East Santa Clara Street':-

<input name="ctl00$ContentPlaceHolder1$CtlPropertySales$txtBuildingName" type="text" value=" 19 Bradston Street (South Bay)" id="ctl00_ContentPlaceHolder1_CtlPropertySales_txtBuildingName" tabindex="95" style="font-family:tahoma,verdana;font-size:11px;font-weight:normal;height:16px;width:150px;">

这是设置值的Javascript代码:-

document.getElementById('<%=CtlPropertySales.FindControl("txtBuildingName").ClientID%>').value = params[1]

任何人都可以告诉我这是怎么可能的以及如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

看来您可能没有正确获取ID。您正在寻找

Bar

但是<%=CtlPropertySales.FindControl("txtBuildingName").ClientID%> 的ID是什么?尝试先获取CtlPropertySales的ClientID,然后再获取CtlPropertySales的ClientID。

或者只是

txtBuildingName

您可以考虑将其添加到您的web.config:

document.getElementById('<%=ctl00_ContentPlaceHolder1_CtlPropertySales_txtBuildingName.ClientID%>').value= params[1]

使用<system.web> <pages clientIDMode="Static"> </system.web> ,ID将保留其原始名称,并且您将不再需要使用clientIDMode="Static"ctl00。这应该有助于设置值,但会影响应用程序/网站中的所有ID,因此您必须更新脚本。