Liaison à une fonction JavaScript

Comment :

Vous pouvez utiliser une feuille de style pour définir un lien vers une fonction JavaScript à partir de tout composant de rapport. Une fois le lien défini, vous pouvez sélectionner le composant de rapport à exécuter la fonction JavaScript.

Comme pour les liens de zoom avant vers les procédures et URL, vous pouvez spécifier des paramètres supplémentaires qui permettent de faire passer les valeurs d'un composant de rapport à la fonction JavaScript. La fonction utilise la valeur passée afin de déterminer, de façon dynamique, les résultats qui sont renvoyés au navigateur. Pour plus d'informations, consultez Création de paramètres.

Remarque :


Haut de page

x
Syntaxe : Créer un lien vers une fonction JavaScript
TYPE=type, [subtype], JAVASCRIPT=function[(parameters ...)], $

où :

type
Identifiez le composant de rapport que vous sélectionnez dans le navigateur web pour exécuter le lien. L'attribut TYPE et sa valeur doivent apparaître au début de la déclaration.
subtype
sont des attributs supplémentaires, tels que COLUMN, LINE ou ITEM, nécessaires pour identifier le composant de rapport que vous formatez. Pour plus de détails, consultez Désignation de composants de rapport dans la syntaxe de feuille de style WebFOCUS.
function
Identifie la fonction JavaScript à exécuter lorsque vous sélectionnez le composant de rapport.

La longueur maximale d'un argument JAVASCRIPT=function, y compris tous les paramètres associés, est de 2 400 caractères et peut s'étendre sur plusieurs lignes. Si vous divisez un seul argument sur plus d'une ligne, vous devez mettre une barre oblique (\) à la fin de la première ligne, en tant que syntaxe de continuation. Si vous divisez un argument à un endroit où un espace est requis en tant que délimiteur, l'espace doit être devant la barre oblique ou bien apparaître comme le premier caractère sur la prochaine ligne. La barre oblique (\) ne sert pas de délimiteur.

Dans cet exemple,

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

l'argument s'étend correctement sur deux lignes.

Remarque :

  • Vous pouvez utiliser la commande du Gestionnaire de dialogue -HTMLFORM afin d'intégrer le rapport dans un document HTML dans lequel la fonction est définie.
  • Lorsque un document HTML est appelé par la commande -HTMLFORM, vérifiez que l'extension de fichier est .HTM (non pas .HTML).

Pour en savoir plus sur la commande -HTMLFORM, consultez le manuel Développement d'applications de reporting .

GET
Valeurs qui sont passées à la fonction JavaScript. Pour plus d'informations, consultez Création de paramètres.


Exemple : Liaison à une fonction JavaScript

Ce qui suit affiche le rapport et la syntaxe de feuille de style utilisés pour créer un lien vers une fonction JavaScript. Il affiche aussi la fonction JavaScript qui est lancée, ainsi que le résultat qui est affiché dans le navigateur.

Voici la requête de rapport (qui contient la feuille de style incorporée) :

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

Voici le fichier JAVAFORM.HTM qui contient la fonction JavaScript :

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

Lorsque vous exécutez la procédure de rapport, le rapport suivant s'affiche dans le navigateur web. Si vous sélectionnez un lien Code de produit, la fonction JavaScript ShowItem s'exécute et affiche la valeur du champ PRODUCT_DESCRIPTION (un champ NOPRINT) dans la zone de texte dans le formulaire en-dessous du rapport. Par exemple, si vous sélectionnez le code de produit G104, « Thermos » s'affiche dans la zone de description de produit.


WebFOCUS