2010-11-24 8 views
1

Voici fonction javascript utilisé pour travailler:

function tbComment_onKeyDown(ID) { 
     var commentPop = $find("WebDialogWindowComment") 
     commentPop.set_windowState($IG.DialogWindowState.Normal); 
     commentID = ID; 

     var thePopUpTb = $get("WebDialogWindowComment$tmpl$tbCommentPopUp"); 
     thePopUpTb.focus(); 
     thePopUpTb.value = commentID.value;  
} 

Ce qu'il a fait était onKeyDown sur une zone de texte sur mon formulaire aspnet (3.5), il Cause WebDialogWindow Infragistics devenir visible, définir le focus à une zone de texte dans cette fenêtre et copié sur n'importe quel texte de la zone texbox d'origine à la zone de texte dans le WebDialogWindow.

Maintenant, $ get ("WebDialogWindowComment $ tmpl $ tbCommentPopUp"); retourne null. Lorsque je regarde View Source sur la page, WebDialogWindowComment $ tmpl $ tbCommentPopUp est sur la page.

Je cours le code thru (le webbrowser dans) vs2008. La seule différence que je peux penser à partir de quand cela a fonctionné jusqu'à maintenant, c'est que j'ai mis à jour de Vista à Windows7. Je n'utilise pas JQuery.

En outre, ce code fonctionne par le biais de vs2008 sur un autre, xp, machine. Et, l'application sur le serveur de développement (une machine XP) fonctionne sur ma machine Windows 7.

Quelqu'un peut-il aider avec ce qui se passe ici?

+0

ie7 est un navigateur et xp est un système d'exploitation. – Greg

+0

Oui, j'ai corrigé ça. Merci. Semble avoir été un navigateur pas un problème de toute façon. –

Répondre

1

WebDialogWindowComment$tmpl$tbCommentPopUp ressemble à un nom d'élément. $get() fonctionne avec des identifiants d'élément, et non des noms. Essayez:

var thePopUpTb = $get("WebDialogWindowComment_tmpl_tbCommentPopUp"); 

Avant la version 8, Internet Explorer les noms d'éléments par erreur accepté dans sa méthode document.getElementById(). C'est probablement la raison pour laquelle votre code fonctionne sous IE7 sous Windows XP.

+0

Merci! J'aimerais vous avoir demandé avant que j'aie passé 2 heures à ce sujet. Ce qui est bizarre, c'est que le serveur web sur la machine xp délivre le même code: var thePopUpTb = $ get ("WebDialogWindowComment $ tmpl $ tbCommentPopUp"); et que cela fonctionne sur la machine fonctionnant ie8. C'est pourquoi je pensais que c'était un problème de serveur web Windows 7. –

+1

@Lill, que le navigateur IE8 pourrait fonctionner en mode de compatibilité IE7 :) –

+0

@Frederic, ah ... bien sûr! –