Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

サーバ側のメソッドの呼び出し

次に、アンカー・タグでイメージを囲み、ユーザがイメージをクリックしたときに呼び出す機能を指定することができます。この場合、新しいページを表示したくないので、タグの href 属性を “.” に設定します。

ユーザがイメージ上をクリックしたときに (HTML 用語で “onClick” イベントが発生するとき)、いくつかのコードを実行するようにします。実行するコードは、<a> タグの onClick 属性を使用して指定します。一般的に、この属性は、ブラウザで実行する JavaScript コードを含みます。

しかしここでは、別の方法で処理をします。代わりに、以下の構文を使用します。

#server( ... )#

これは、Caché サーバ上でコードを実行します。

ブラウザが href 属性によって定義されたリンクをたどらないように JavaScript コード ";return false;" を属性値の最後に付加します。これは、ハイパーリンクが関数を呼び出すときに使用される JavaScript の標準的な方法です。

—ShowTimes.csp—
ShowTimes.csp
<html> <body>
<csp:class encoded=1 super="%CSP.Page,Cinema.Utils">
<csp:query 
        name="Times" 
        classname="Cinema.Show" 
        queryname="ShowTimes"
        P1='#(%request.Data("FilmID",1))#'>
        
<csp:object 
        name="Film" 
        classname="Cinema.Film" 
        objid='#(%request.Data("FilmID",1))#'>

<font> <b>Today's Show Times for #(Film.Title)#</b></font>

<table cellpadding=5> <tr> ... </tr>
<csp:while condition="Times.Next()">
    <tr>
    <td>#(Times.Get("StartTime"))#</td>
    <td>#(Times.Get("TheaterName"))#</td>
    <td align="center">
    <a href=. onClick="#server(..AddShow(#(Times.GetData(1))#))#;return false;">
    <img src="Tickets.gif" width="130" height="39" border="0" 
    alt="Click to order tickets for this show">
    </a>

    </td>
    </tr>
</csp:while>
</table>
</body> </html>
FeedbackOpens in a new tab