我正在使用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]
任何人都可以告诉我这是怎么可能的以及如何解决这个问题。
答案 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,因此您必须更新脚本。