Когда я пытаюсь вызвать функцию JavaScript в динамически загруженном пользовательском элементе управления, она не может найти указанную функцию. У меня есть пользовательский элемент управления для organizationDetails.ascx. Там я использую модальное расширение всплывающего окна, чтобы получить некоторую информацию от пользователя, а затем я проверяю адрес через Google и предлагаю правильный формат. Я пытаюсь использовать java-скрипт для функции, вызываемой для onBlur текстового поля, но firebug mozilla говорит, что функция не определена, что не так. Было бы здорово, если бы кто-то мог помочь мне здесь.
РЕДАКТИРОВАНИЕ:
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(){
//some javascript
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 () определяется в начале страницы. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
Спасибо,
Ратан