J'ai une page Web composée d'un widget d'onglets UI JQuery UI. Onglet Widget charge les onglets via AJAX. Dans l'une des pages à tabulation (Nom It DescriptionPage Strard>), j'ai un formulaire qui sera soumis via Ajaxform Plugin. Ceci est contenu de mon <form id="myForm">
<!-- Form elements goes here -->
</form>
<script>
$(function(){
$('#myForm').ajaxForm(function (response) {
$('#myForm').parent().empty().append(response);
});
});
</script>
5 Réponses :
Cela semble fonctionner pour moi dans Internet Explorer 6:
index.html: p> descriptionpage.html: p>
Essayez quelque chose comme ça pour voir s'il résout le problème: Ce que cela devrait faire est de remplacer le contenu du formulaire existant avec le contenu de l'élément renvoyé dans la réponse. Au lieu de remplacer l'intégralité de l'élément de forme et d'exécuter JS à nouveau. Cela peut fonctionner autour de votre problème. P> P>
Merci. Mais je dois à nouveau ré-exécuter des JS, pour effectuer des liaisons an, par exemple: la forme doit être liée à Ajaxform pour chaque réponse.
Vous pouvez essayer quelque chose comme ceci: avec cette approche, vous encapsulez la $ dans la fonction et ne peut pas être gâché à partir d'autres frameworks JS (devriez-vous en utiliser). Je ne sais pas si cela fonctionnera avec IE et je ne peux pas le tester mais j'espère que ce sera :) p> p>
Veuillez vous reporter à: jQuery 1.6.1, IE9 et Script5009: '$' est indéfini p>
ID utilisateur "Black" a fourni la bonne direction pour moi. P>
Je téléchargeais en utilisant .ajaxform sur une boîte de dialogue. Après cela, je remplace ce formulaire, avec une autre ajaxform. Ensuite, j'ai eu un bug avec "$ est indéfini" ou "jQuery est indéfini" La principale raison est que j'ai appliqué "rendu: layout => false" pour la deuxième boîte de dialogue. C'est pourquoi toute la bibliothèque JS (inclure JQuery) n'a pas été chargée correctement. P>
Pour que, sur le partial de la deuxième boîte de dialogue, je dois ajouter. p>
Si vous utilisez IE, assurez-vous que vous utilisez JQuery version 1. JQuery version 2 n'est pas pris en charge par IE ... Même si tout le reste de la planète prend en charge la version 2 .... P>
Bienvenue sur Stackoverflow. Quelques suggestions: envisagez de demander à l'affiche originale de fournir plus d'informations comme la version de JQuery qu'il utilise. Aussi, s'il vous plaît soyez plus précis dans votre réponse afin qu'il soit utile à d'autres lecteurs. (Toutes les versions de IE ne parviennent pas à prendre en charge JQuery 2, ni tous les autres navigateurs le soutiennent.) Merci pour votre contribution.
Cela ne résout pas le problème, mais vous pouvez utiliser
$ ('# myform'). Parent (). HTML (réponse); code>
Intéressant que l'erreur dit "jQuery", puisque le code que vous avez collé ici n'utilise pas la variable "jQuery" du tout. Cela vous dit-il quel fichier et ligne l'erreur se produit?
Merci pour la réponse de réponse. Dans IE, il y a des bugs que prenvet utilisez HTML (réponse), c'est pourquoi j'ai utilisé de manière vide () et appendez () séquentiellement.
Le code que j'ai collé est une version très simplifiée de mes pages, je ne veux pas vous déranger avec des milliers de loc. Mais je suis à peu près sûr que la jQuery est indéfinie dans le script de vue partielle chargée (outils de débogage JS).
Une technique de débogage que j'utilise est de prendre une version simplifiée du code, comme ce que vous avez collé ci-dessus et de tester avec elle. Avez-vous déjà essayé ça?
Est le fichier jquery.form.js en cours de chargement à partir de la page des onglets ou de la descriptionPage? S'il est chargé à partir de la descriptionPage, avez-vous essayé de charger à partir de la page des onglets à la place? Il peut être nécessaire de charger de la même page qui charge jQuery.
Tous les fichiers de la bibliothèque (JQuery, JQuery UI, JQuery Forms, etc.) sont inclus dans la page principale (qui contient également des onglets DIV).
Ma réponse n'a-t-elle pas fonctionné pour vous?
Non. J'essaie toujours de comprendre.