例: ホットスポット

  1. 次の JavaScript コードは、ボタンまたはアクションホットスポットの onClick イベントでアクティブにされると、アラートを表示します。
    alert("This is the alert box.")
  2. 次の JavaScript コードは、ボタンまたはアクションホットスポットの onClick イベントでアクティブにされると、ユーザーの名前の入力を促すプロンプトを表示します。
    var message
    var defaultanswer
    message = "Please enter your name:";
    defaultanswer = myForm.from.value;
    result = prompt(message, defaultanswer);
    if(result) {
      myForm.results.value = result;
    }
  3. 次の JavaScript の例は、ボタンまたはアクションホットスポットの onClick イベントに添付できます。メールメッセージを配信する方法を決定します。バグの場合、メールは「SprManager」に送られます。その他の要望は「WishListManager」に送られます。このスクリプトの最後の行は、メールを起動します。
    var isBug = confirm("Are you reporting a bug?");
    var recipient = isBug? "SprManager@xyz.com" : "WishListManager@xyz.com";
    document.location = "mailto:" + recipient; 
  4. 次のボタンまたはアクションホットスポットの LotusScript は、複数のユーザーにメールメッセージを送信する場合に便利です。受信者がホットスポットをクリックすると、このスクリプトは「RSVP」に「Yes」か「No」を入れたメールメッセージを送信します。テストでは現在のユーザーの名前を使用しますが、実際には自分のユーザー名を使用できます。式を使用する次の例と比較してください。
    '(Declarations)
    Const MB_YESNO = 4
    Const MB_ICONQUESTION = 32
    Const IDYES = 6
    
    '(Click event)
    Sub Click(Source As Button)
         Dim session As New NotesSession
         Dim db As NotesDatabase
         Dim doc As NotesDocument
         Set db = session.CurrentDatabase
         Set doc = New NotesDocument(db)
         yesno = Messagebox _
         ("Do you want to attend?", MB_YESNO+MB_ICONQUESTION)
         If yesno = IDYES Then rsvp = "Yes" Else rsvp = "No"
         Call doc.AppendItemValue("Subject", "RSVP")
         Call doc.AppendItemValue("Body", rsvp)
         Call doc.Send(True, session.UserName)
    End Sub
  5. 次のボタンまたはアクションホットスポットの式は、複数のユーザーにメールメッセージを送信する場合に便利です。受信者がホットスポットをクリックすると、この式は「RSVP」に「Yes」か「No」を入れたメールメッセージを送信します。テストでは現在のユーザーの名前を使用しますが、実際には自分のユーザー名を使用できます。LotusScript を使用する前の例と比較してください。
    yesno := @Prompt([YESNO]; "RSVP"; "Do you want to attend?");
    rsvp := @If(yesno; "Yes"; "No");
    @MailSend(@UserName; ""; ""; "RSVP"; ""; rsvp; "")
  6. 次のボタンまたはアクションホットスポットの LotusScript は、データベースのすべての [OrderTotal] フィールドの 1 日の合計を表示します。データベースの各レコードには、[OrderNumber]、[Date]、[OrderTotal] の各フィールドがあります。このスクリプトは、データベースのすべての文書を検索し、ループ処理で日付を比較し、処理の対象を当日の文書だけに制限します。各文書について、このスクリプトは [OrderTotal] フィールドの値を dailyTotal 変数に加算します。
    Sub Click(Source As Button)
         Dim session As New NotesSession
         Dim db As NotesDatabase
         Dim dc As NotesDocumentCollection
         Set db = session.CurrentDatabase
         Set dc = db.AllDocuments
         dailyTotal = 0
         Set doc = dc.getFirstDocument
         While Not(doc Is Nothing)
              odate = doc.Date
              dn = Datenumber(Year(odate(0)), _
              Month(odate(0)), Day(odate(0)))
              orderNumber = doc.OrderNumber
              If dn = Today _
              And orderNumber(0) <> "DAILY TOTAL" Then
                   orderTotal = doc.OrderTotal
                   dailyTotal = dailyTotal + orderTotal(0)
              End If
              Set doc = dc.getNextDocument(doc)
         Wend
         Messagebox Format(dailyTotal, "Currency")
    End Sub
  7. 次のアクションホットスポットは、ナビゲータの一部です。この式は、ユーザーにプロンプトを表示し、ユーザーが選択したビューを表示します。
    view := @Prompt([OKCANCELLIST]; "Which view do you want to open?"; ""; ""; "By first name" : "By last name");
    @Command([OpenView]; view)
  8. 次の式は「式の結果のポップアップ文字列」を示します。フォーム上の次のテキストをホットスポットとしてハイライト表示できます。「ユーザー名、現在の日付と時刻をメモしてください。」このホットスポットに関連付けられている式が、必要な情報を含む文字列として評価されます。
    "Your user name is " + @UserName + @NewLine + "The date and time are " + @Text(@Now)