Einen Link zu einer JavaScript-Funktion herstellen

Vorgehensweise:

Sie können ein StyleSheet verwenden, um von einer beliebigen Reportkomponente einen Link zu einer JavaScript-Funktion zu definieren. Nachdem Sie einen Link definiert haben können Sie die Berichtskomponente auswählen, um die JavaScript-Funktion auszuführen.

So wie bei Drilldown-Links auf Prozeduren und URLs können Sie optionale Parameter angeben, die es ermöglichen, das Werte einer Reportkomponente an die JavaScript-Funktion weitergereicht werden. Die Funktion verwendet die weitergereichten Parameter, um die Resultate, die an den Browser zurückgegeben werden, dynamisch zu bestimmen. Weitere Informationen hierüber finden Sie unter Parameter erstellen.

Hinweis:


Nach oben

x
Syntax: Einen Link zu einer JavaScript-Funktion herstellen
TYPE=type, [subtype], JAVASCRIPT=function[(parameters ...)], $

Hierbei gilt:

type
Bezeichnet die Reportkomponente, die Sie im Webbrowser ausgewählt haben, um den Link auszuführen. Das TYPE-Attribut und sein Wert müssen am Anfang der Deklaration stehen.
subtype
Sind alle weiteren Attribute, wie z. B. COLUMN, LINE, oder ITEM, die benötigt werden, um die Reportkomponente zu identifizieren, die Sie formatieren. Genaueres finden Sie unter Eine Reportkomponente in einem WebFOCUS StyleSheet identifizieren.
Funktion
Identifiziert die JavaScript-Funktion, die ausgeführt werden soll, wenn Sie die Reportkomponente auswählen.

Die maximale Länge eines JAVASCRIPT=function-Arguments einschließlich aller assoziierter Parameter beträgt 2.400 Zeichen und kann sich über mehrere Zeilen erstrecken. Wenn Sie ein einzelnes Argument über mehrere Zeilen ausbreiten, müssen Sie das (\)-Zeichen am Ende der ersten Zeile als Weiterführungs-Syntax eingeben. Wenn Sie ein Argument an einer Stelle unterteilen, an der ein Leerzeichen als Trennzeichen benötigt wird, muss sich das Leerzeichen vor dem umgekehrten Schrägstrich befinden oder das erste Zeichen in der nächsten Zeile sein. Der umgekehrte Schrägstrich agiert nicht als Trennzeichen.

Bei diesem Beispiel gilt,

JAVASCRIPT=myfunc(COUNTRY \
CAR MODEL 'ABC'),$

dass sich das Argument richtig über zwei Zeilen erstreckt.

Hinweis:

  • Sie können den Dialogue Manager -HTMLFORM-Befehl verwenden, um den Report in ein HTML-Dokument einzubetten, in dem die Funktion definiert ist.
  • Stellen Sie sicher, wenn Sie ein HTML-Dokument haben, dass durch -HTMLFORM aufgerufen wird, dass die Dateierweiterung .HTM (nicht .HTML) ist.

Weitere Informationen über den -HTMLFORM-Befehl finden Sie im Handbuch Reportanwendungen entwickeln .

Parameter
Werte, die an die JavaScript-Funktion weitergegeben werden. Weitere Informationen hierüber finden Sie unter Parameter erstellen.


Beispiel: Einen Link zu einer JavaScript-Funktion herstellen

Im Folgenden ist die Report- und StyleSheet-Syntax zu sehen, die verwendet wird, um mit einer JavaScript-Funktion zu verknüpfen. Es wird auch die JavaScript-Funktion angezeigt, die ausgeführt wird, und das Ergebnis, das im Browser angezeigt wird.

Die Reportanfrage (die das Inline-StyleSheet enthält) ist:

TABLE FILE GGORDER
SUM PRODUCT_ID
BY STORE_CODE
BY PRODUCT_DESCRIPTION NOPRINT
IF STORE_CODE EQ 'R1250'
ON TABLE HOLD AS JAVATEMP FORMAT HTMTABLE
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
TYPE=DATA, COLUMN=PRODUCT_ID, JAVASCRIPT=showitem(PRODUCT),$
ENDSTYLE
END
-RUN
-HTMLFORM JAVAFORM

Die JAVAFORM.HTM-Datei, die die JavaScript-Funktion enthält, ist:

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
// This function will display the value in the text box
function showitem(string) {
document.form1.text1.value = string;
}
// End the hiding here
</SCRIPT>
</HEAD>
<BODY>
!IBI.FIL.JAVATEMP;
<HR>
<B>Product Description:</B>
<FORM NAME="form1">
<INPUT TYPE="text" NAME="text1" SIZE="16"> </FORM>
</BODY>
</HTML>

Es wird, wenn Sie die Reportprozedur ausführen, der folgende Report im Webbrowser angezeigt. Wenn Sie einen Produktcode-Link ausgewählt haben, wird die JavaScript-Funktion ShowItem ausgeführt und zeigt den Wert des PRODUCT_DESCRIPTION-Feldes (ein NOPRINT-Feld) in der Textbox im Formular unterhalb des Reports an. Wenn Sie z. B. den Produktcode G104 auswählen, wird ''Thermos'' im Feld Produktbeschreibung angezeigt.


WebFOCUS