2009-07-06 3 views
0

Ich habe Probleme, eine Verbindung in einem Dijit.dialog zu verbinden.Verbinde Links in einem Dijit.dialog

Ich rufe eine "andere" HTML-Datei innerhalb des Dialogs (dialog.href = "xxx.html") in dieser Datei auf iam versuche, einige Links per ID zu verbinden, um eine Alarmbox auszulösen. Aber nichts passiert ? Möglich, dass das nicht möglich ist ??

Das ist der Teil von meinem xxx.html Datei ..

<script type="text/javascript"> 
    dojo.addOnLoad(function() { 
     dojo.connect(dojo.byId('testLink'), 'onClick', alert('xx')); 
    }); </script> 


<a href='#' id="testLink">TEST</a> 

Antwort

1

Dialog is extended from ContentPane so it supports all the same parameters (href, etc.). Wenn eine Seite über die Eigenschaft href aufgenommen wird, werden alle Tags, die nicht ausgewertet werden, einfach zum DOM hinzugefügt. Dies lässt Sie mit zwei Möglichkeiten:

  1. refactor xxx.html, so kann das Skript durch den Dialog des onLoad-Handler ausgeführt werden
  2. die Event-Handler in die HTML-Tags einbetten; h. <input type="button" onClick="alert('xx');" />
+0

danke für die idee mit dem onLoad verbinden! funktioniert gut! – opHASnoNAME

1

Eine andere Option wäre, dojox.layout.ContentPane zu verwenden. Es wird <Skript> Tags analysieren. Es ist in Dojox, obwohl es in der zukünftigen Version geändert werden kann. Ein weiterer Nachteil ist, dass Sie dafür eine eigene Dialog-Klasse erstellen müssen, die eine Unterklasse von dojox.layout.ContentPane ist.

Es gibt auch einen Artikel über dojocampus about executing javascript in content panes, der ein wenig über die Verwendung von dojox.layout.ContentPane spricht, um eigene Dialog-Widgets zu erstellen.

Verwandte Themen