Lorsque j'essaie d'appeler une fonction javascript dans un contrôle utilisateur chargé dynamiquement, il ne trouve pas la fonction spécifiée. J'ai un contrôle d'utilisateur pour organizationDetails.ascx. Là, j'utilise modal popup extender pour obtenir des informations de l'utilisateur, puis je vérifie l'adresse via google et suggère le bon format. J'essaie d'utiliser un script java pour une fonction appelée onBlur d'un textbox mais le firebug mozilla dit que la fonction n'est pas définie, ce qui n'est pas le cas. Ce serait génial si quelqu'un pouvait m'aider ici.Comment créer et appeler une fonction javascript sur un contrôle utilisateur chargé dynamiquement?
ÉDITÉ: Le javascript est sur la page ascx au début et à la usercontrol est chargé à l'aide de la classe de base pour afficher les détails d'organisation et de les modifier.
La page ascx comporte les balises suivantes dans le panneau appelé par le popup modal.
<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>
La fonction de setContextKey2() est définie au début de la page. S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'informations.
Merci, Ratan
Peut-être que vous pourriez fournir un code source ?! Où inscrivez-vous le javascript, dans codebehind ou sur aspx/ascx? L'usercontrol est-il visible et chargé? –
J'ai posté le code correspondant .. laissez-moi savoir si vous avez besoin de plus. Merci. – Ratan