Domino 9 und frühere Versionen > Entwicklung
JavaScript + Fenster öffnen WEB
animate:
ich kann mich meinem Vorgänger nur anschließen. Die Applets sind sehr träge und Doppelklick im Browser ist sehr gewöhnungsbedürftig.
--- Zitat von: robertpp am 07.11.03 - 13:48:05 ---Wie kann ich in der Spaltenformel das so formulieren das er die Funktion aufruft? Und wie kombiniere ich @DocId mit JS-aufruf?
--- Ende Zitat ---
Auch hier hat Axel Janssen temp schon in die richtige Richtung gezeigt: du musst in deiner Ansicht einstellen, dass ihre Inhalte im Web als HTML behandelt werden (auf dem Reiter mit dem Hütchen im Eigenschaftenfenster).
Dann musst du die Spaltenformeln so formulieren, dass sie HTML "erzeugen".
Der Link, den du brauchst sieht ungefähr so aus:
<a href="javascript:OpenDocument ('/DBName.nsf/View/DocID?Open')">Bezeichnung</a>
wobei
DBName.nsf für den Pfad der DB stehen (am besten mit @DBName ermitteln)
View für den Namen der Ansicht steht
DocID für die DokumentID (mit @DocumentUniqueID ermitteln)
Bezeichnung für die Bezeichnung des Links (wohl irgendein Feldwert)
sodass deine Spaltenformel etwa so aussehen könnte:
_dbName := ...;
_viewName := ...;
_docID := @DocumentUniqueID;
_title := ...:
_link := "<a href="javascript:OpenDocument ('" + _dbName + "/" + _viewName + "/" + _docID + "?Open')">" + _title + "</a>";
_link
(keine Garantie dass die Formel so richtig ist + du musst natürlich die Anführungszeichen innerhalb anderer Anführungszeichen mit \ escapen)
dann kannst du noch, wie schon von Axel Janssen temp, ein paar Zeilen und Palten einbauen (allesmit HTML in der Spaltenformel), dass es gut aussieht.
Du kannst mit HTML + CSS die wunderschönsten Ansichten basteln, wenn du etwas HTML kennst.
wenns nicht klappt, dann frag nochmal nach
robertpp:
Ich hab das jetzt den Inhalt als HTML anzeigen lassen:
_dbname := @ReplaceSubstring (@Subset (@DbName; -1); "\\"; "/");
_viewname :="test1";
_link :="<tr><td><a href =\'/" + _dbname + "/" + _viewname + "/" + @Text(@DocumentUniqueID) + "?Open" +"\' >"+ Wert +"</a></td>";
_link
so. Wenn ich jetzt auf den Link klicke dann macht er mir das im gleichen Fenster auf.
Wie verknüpfe ich jetzt mit meinem Link das javascript das mir ein neues Fenster öffnet?
danke robert
Axel Janssen temp:
Potsmoker hatte hierfür den wohl besten Ansatz genannt.
Du schreibst in den JSHeader der Page, in der du die view vermutlich eingebettet hast eine function.
--- Code: ---function openDialogWindow(String docUnidId) {
der javaScriptCode....
}
--- Ende Code ---
Nein. Nein. Nein.
Problem ist, dass du dann keine Formeln verwenden kannst. Z.B. für das voll korrekte: _dbname := @ReplaceSubstring (@Subset (@DbName; -1); "\\"; "/");
und die entsprechenden Werte hartkodieren müßtest (schlechte Idee).
Deshalb empfehle ich die View in einer Maske zu embedden und das entsprechende JavaScript in HtmlHead abzulegen (muss dann <script></script> tag drum!
Aus deinen Links kannst du das dann aufrufen:
Die müsstest du dann so in der Art aufbauen.
<a href=\"javaScript:openDialogWindow(" + docUnid + ")\">A link to click<</a>
Gib mal in die Browseradressbox das folgende ein:
javascript:alert("hallo");
Dann dürfte das klarer sein.
Ich hoffe es hilft dir weiter. Ist ein bischen fricklig.
Gruß Axel
ps morgen hast du das Problem: Wie aktiviere ich das dialogfenster, wenn es einmal hinter das Hauptfenster gerutscht ist. ;D
robertpp:
ich glaub dann bin ich eh am richtigen weg so hab ich das bis jetzt in einer Maske:
<html>
<script language="JavaScript">
function hallo(key) {
alert(key)
newWindow = window.open("http://localhost/sonstige/MailOverview.nsf/" + key + '?OpenDocument','secondary_window','toolbar=no,location=no,scrollbars=yes,directories=no,left='+high+',top='+left1+',height=500,width=600')
}
</script>
<body bgcolor="#FFFFFF" text="#000000">
<table width="75%" border="0">
Hier ist meine eingebettete Ansicht
</table>
</body>
</html>
und in der spalte meiner ansicht hab ich das:
_link :="<tr><td><a href =\"javascript:hallo(\'" + @Text(@DocumentUniqueID) + "\')\" >"+ Wert +"</a></td>";
_link
Er macht mir auch die Alertbox auf die ich in der Function habe aber weiter bin ich jetzt noch nicht!!! Ich hoffe ich bekomme das heute noch hin!!!
robertpp:
Jetzt hab ich es:
Ich hab die Variablen
high=screen.width/2-300
left1=screen.height/2-250
noch vergessen!!
So jetzt hab ich das ganze auch schon ein wenig mit einem Table gemacht aber was mach ich mit einer kategorisierten Spalte?
Geht das oder muss ich da etwas bedenken die darzustellen?
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln