PROGRAMMING OVERVIEW AND USER INTERFACE
Examples: Hotspots
1. This JavaScript code shows an alert when activated by the onClick event of a button or action hotspot.
alert("This is the alert box.")
2. This JavaScript code prompts the user for his or her name when activated by the onClick event of a button or action hotspot.
var message
var defaultanswer
message = "Please enter your name:";
defaultanswer = myForm.from.value;
result = prompt(message, defaultanswer);
if(result) {
myForm.results.value = result;
}
3. This JavaScript example could be attached to the onClick event for a button or action hotspot. It determines how a mail message is delivered. For "bugs," the mail is directed to "SprManager." Other requests are directed to "WishListManager." The final line in this script launches mail.
var isBug = confirm("Are you reporting a bug?");
var recipient = isBug? "SprManager@xyz.com" : "WishListManager@xyz.com";
document.location = "mailto:" + recipient;
4. This LotusScript button or action hotspot is useful in a mail message to a group of persons. When the recipient clicks the hotspot, the script sends a mail message indicating "Yes" or "No" for the "RSVP." For testing, the name of the current user is used -- in practice, you would use your name. Compare with the next example, which uses a formula solution.
'(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. This formula button or action hotspot is useful in a mail message to a group of persons. When the recipient clicks the hotspot, the formula sends a mail message indicating "Yes" or "No" for the "RSVP." For testing, the name of the current user is used -- in practice, you can use your name. Compare with the previous example, which uses a LotusScript solution.
yesno := @Prompt([YESNO]; "RSVP"; "Do you want to attend?");
rsvp := @If(yesno; "Yes"; "No");
@MailSend(@UserName; ""; ""; "RSVP"; ""; rsvp; "")
6. This LotusScript button or action hotspot displays the sum of all OrderTotal fields in a database for one day. Each record in the database has OrderNumber, Date, and OrderTotal fields. The script finds all the documents in the database, then uses a loop and a comparison of dates to limit processing to today's documents. For each document, the script adds the OrderTotal to a dailyTotal variable.
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. This action hotspot is part of a navigator. The formula prompts the user and opens a view selected by the user.
view := @Prompt([OKCANCELLIST]; "Which view do you want to open?"; ""; ""; "By first name" : "By last name");
@Command([OpenView]; view)
8. This formula shows "pop-up text from a formula." You can highlight as a hotspot the following text on a form: "Please note your user name and the current date and time." The formula associated with the hotspot would evaluate to a text string containing the necessary information.
"Your user name is " + @UserName + @NewLine + "The date and time are " + @Text(@Now)
Véase también
Hotspots
Glosario
¿Desea opinar sobre la Ayuda?
Ayuda sobre la Ayuda
Abrir la Ayuda en pantalla completa
Glosario
¿Desea opinar sobre la Ayuda?
Ayuda sobre la Ayuda
Abrir la Ayuda en pantalla completa