2010-11-24 3 views
1

Die folgenden JavaScript-Funktion zu arbeiten:

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;  
} 

Was war es auf meiner aspnet auf einem Textfeld hat onKeyDown (3.5) Form, es hat dazu geführt, dass ein infragistic WebDialogWindow sichtbar wurde, den Fokus auf ein Textfeld in diesem Fenster legte und einen beliebigen Text aus der ursprünglichen Texbox in das Textfeld im WebDialogWindow kopierte.

Jetzt $ get ("WebDialogWindowComment $ tmpl $ tbCommentPopUp"); gibt null zurück. Wenn ich View Source auf der Seite betrachte, befindet sich WebDialogWindowComment $ tmpl $ tbCommentPopUp auf der Seite.

Ich führe den Code durch (der Webbrowser in) vs2008. Der einzige Unterschied, von dem ich bisher denken konnte, ist, dass ich von Vista auf Windows7 aufgerüstet habe. Ich benutze JQuery nicht.

Auch dieser Code funktioniert durch vs2008 auf einem anderen, XP, Maschine.

Und die Anwendung auf dem Entwicklungsserver (eine XP-Maschine) läuft auf meinem Windows 7-Rechner.

Kann mir jemand helfen, was hier vor sich geht?

+0

ie7 ist ein Browser und xp ist ein Betriebssystem. – Greg

+0

Ja, das habe ich korrigiert. Vielen Dank. Scheint, ein Browser nicht os Problem gewesen zu sein. –

Antwort

1

WebDialogWindowComment$tmpl$tbCommentPopUp sieht wie ein Elementname aus. $get() arbeitet mit Element-IDs, nicht mit Namen. Versuchen:

var thePopUpTb = $get("WebDialogWindowComment_tmpl_tbCommentPopUp"); 

Vor Version 8, fälschlicherweise Internet Explorer akzeptiert Elementnamen in seiner document.getElementById() Methode. Das ist wahrscheinlich, warum Ihr Code unter IE7 unter Windows XP funktioniert.

+0

Danke! Ich wünschte, ich hätte dich gefragt, bevor ich 2 Stunden damit verbracht habe. Was seltsam ist, der Webserver auf der XP-Maschine liefert denselben Code: var thePopUpTb = $ get ("WebDialogWindowComment $ tmpl $ tbCommentPopUp"); und dass es auf der Maschine funktioniert, die ie8 ausführt. Deshalb dachte ich, es wäre ein Windows 7 Webserver Problem. –

+1

@Lill, dass der IE8 Browser möglicherweise im IE7 Kompatibilitätsmodus läuft :) –

+0

@Frederic, ah ... natürlich! –

Verwandte Themen