How many times do we have to run a Web agent to update information on other
documents - while not wanting to move from this URL? We have to save this
document - call the agent and then have the agent put us back here - 2
server hits and delayed time for the user. Potential cache nightmare if
trying to use history.go(-x).
Here is a real timesaver and improved usability for the user - only one
server hit and no time lost.
This can also be a good trigger to run agents in other databases especially
when your LotusScript cannot access other servers. Pass any/all relevant
information in the Query_String_Decoded you can run any agent anywhere you
like - whenever you like.
Create a link on your document to call a javascript function
The function then uses innerHTML to create an invisible IFRAME. (The IFRAME
has height=0 width=0 so occupies no space on the form.) The src of the IFRAME is such that an agent is called and runs right there - without changing the URL of the existing page.
Code
on the form passthru HTML - <DIV id="divBookmark"></DIV>
call the OpenAgent function below
function OpenAgent(){
//link is the would-be URL of your agent
var link="http://servername/database.nsf/agentname?openagent"
//create the IFRAME in the div as innerHTML
var sTemp="<IFRAME src='"+link+"' width=0 height=0></IFRAME>
document.all.divBookmark.innerHTML=sTemp
}
A working example could be a "Send Email" button which links to an agent to send the mail - without having to move from this page. You could pass the user's name etc in the Query_String_Decoded.
When the agent is complete you could have it print a return to notify the user
Print <SCRIPT>alert('Email Sent')</SCRIPT>