2010-12-06 4 views
0

Je suis un peu confus et le problème peut probablement être résolu en quelques secondes pour quelqu'un de savoir.Cible Javascript après l'appel ajax

J'ai une page de visualisation de produit qui a la possibilité d'ajouter au panier. Une fois que l'utilisateur clique sur "ajouter au panier", il exécute un script ajax et exécute une page ASP en arrière-plan pour ajouter le produit à la table de la base de données du chariot. une fois que cela arrive, je compte le nombre total de produits dans le panier avec une fonction simple et je veux l'afficher automatiquement sur la page. Je donne le travail d'affichage Javascript comme ceci:

<script language="javascript" type="text/javascript"> 
var cartnum = '&nbsp;(<%=CountItemsInCart()%>)'; 
top.getElementById('NumberOfItemsInCart').innerHTML = cartnum; 
</script> 

C'est dans la page ASP ajax

Cependant le javascript ne parvient pas, en disant, la cible est NULL. Comment est-ce que je fais le changement au document par défaut qui a l'identification "NumberOfItemsInCart"?

Toute aide que vous pourriez fournir serait grandement appréciée.

Un grand merci,

Paul

+0

Avez-vous essayé '<% = NumberOfItemsInCart.ClientID%>'? – hunter

Répondre

2

Si vous appelez la page via AJAX, cela n'a pas référence à la page que vous avez actuellement ouvert. Vous devrez gérer cela dans l'appel AJAX quand il revient à la place. Vous pouvez renvoyer le nombre à partir de la page ASP, puis mettre à jour la page en utilisant Javascript à ce stade. Si vous postez cette partie de votre code, je suis sûr que quelqu'un pourrait vous aider avec le placement.

+0

J'ai utilisé votre conseil .. et j'ai maintenant le travail .. beaucoup de mercis .. – neojakey

0

Regardez dans l'utilisation de window.opener.document. Vérifiez here et voir si cela vous aide dans la bonne direction.

Voici un extrait rapide:

window.opener.document["nameForm"].getElementById("someid").value; 
0

Comme la réponse de Shawn, les appels Ajax ne devrait revenir un JSON/XML. Vous devez mettre à jour votre code HTML à partir du rappel.