SharePoint2013自定义字段类型:当文本框的ClientIDMode设置为AutoID时,getElementById不起作用
问题描述:
我创建了具有一个文本框和一个按钮的自定义字段类型。SharePoint2013自定义字段类型:当文本框的ClientIDMode设置为AutoID时,getElementById不起作用
<asp:TextBox ID="TextField" runat="server" ReadOnly="true" ClientIDMode="Static"/>
<asp:Button ID="TreeButton" Text="..." runat="server" onclientclick="HandlePopupResult();" />
on button click,我调用一个javascript函数(HandlePopupResult)来设置一个resultValue为文本框。
function HandlePopupResult(resultValue) {
document.getElementById('TextField').value = resultValue; }
如果我设置的'TextField'
ClientIDMode
到static
,这个代码工作,但是当我将它设置为AutoID
的HandlePopupResult
功能不起作用。
我设置ClientIDMode="AutoId"
的TextField
和使用
document.getElementById('<%=TextField.ClientID%>').value = resultValue;
后来我UnhandebleException
尝试浏览有一个字段类型我的自定义字段中的每个列表NewForm。
这是necessery我TextField CleintIDMode
是AutoId
,我可以设置文本框
的价值我将不胜感激任何意见。
答
我搜索了很多,终于发现这个样本
这个样本通过获取控制的clientId的新方法解决我的问题。