当我试图在动态加载的用户控件中调用javascript函数时,它找不到指定的函数。我有OrganizationDetails.ascx的用户控件。在这里,我使用modal popup扩展程序从用户那里获取一些信息,然后通过google验证地址并建议正确的格式。我试图用Java脚本来调用一个文本框的OnBurr函数,但是Mozilla Fibug说这个函数没有被定义,情况并非如此。如果有人能在这里帮我,那就太好了。
编辑:
javascript位于ascx页面的开头,用户控件使用基类加载,以显示组织详细信息并进行编辑。
ascx页面在面板中有以下标签,由模式弹出窗口调用。
<padrap:DropDownList ID ="ddlStateID"
onChange ="setContextKey2()"
runat ="server" />
<br />
<padrap:Label ID ="lCity"
Text ="City: "
AssociatedControlID ="tbrCity"
runat ="server"
CssClass ="col2"/>
<asp:TextBox ID ="tbrCity"
onBlur ="setContextKey2()"
runat ="server" />
<br />
<script type="text/javascript">
alert('i hate javascript');
var dependentBehaviors = [
'tbCity_ace_b'
];
var address = {};
function setContextKey2(){
address.addressLine1 = $get('<%=tbrAddressID1.ClientID %>').value;
address.addressLine2 = $get('<%=tbrAddressID1.ClientID %>').value;
address.addressLine3 = $get('<%=tbrAddressID1.ClientID %>').value;
address.countryISO2 = $get('<%=ddlCountryID.ClientID%>').value;
address.stateCode = $get('<%=ddlStateID.ClientID%>').value;
address.city = $get('<%=tbrCity.ClientID%>').value;
address.postalCode = $get('<%=tbrPostalCode.ClientID%>').value; */
var contextStr = Sys.Serialization.JavaScriptSerializer.serialize(address)
var behavior = $find('tbCity_ace_b')
behavior.set_contextKey(contextStr);
var behavior2 = $find('tbPostalCode_ace_b')
behavior2.set_contextKey(contextStr);
}
</script>
setContextKey2()的函数在页面的开头定义。如果你需要更多的信息,请告诉我。
谢谢,
拉坦