Manage Learn to apply best practices and optimize your operations.

Dynamically changing the content of a form without refreshing the page

Use this JavaScript code to change the content of a form dynamically -- without having to refresh the page. It doesn't even need an ActiveX Control to be executed on the client; instead, the execution is made on the server.

This code allows the content of a form to be changed dynamically -- without refreshing the page. It doesn't need an ActiveX Control to be executed on the client; the execution is instead made on the server.

What this does is declare an HTML tag <script> with an empty SRC, and change the content of this SRC. This can be made by an agent. Follow these steps:

  1. Create a script tag with an empty SRC:
    <SCRIPT ID="datosAct" type="text/javascript" 
    SRC="" LANGUAGE="JavaScript"></SCRIPT>
    

  2. Put this code on the event of the element that is going to execute the action (button, dialog list, input, etc.).
    ----------- Event ---------------------
    
    querys = "" + window.location
    bd = querys.split("//")
    server = bd[1].split("/")
    //Call the agent with the parameters 
    for the search src= "http://" +server[0] 
    + "/" + folders + "/" + bd + 
    "/traerDatos?openagent&" + 
    this.options[this.selectedIndex].value;
    //Asign the value returned by the agent to
     the script tag defined document.
    getElementById("datosAct").src = src
    
    ----------- Event end -----------------
    

  3. This code is going to call an agent (traerDatos). When it does, this agent will generate JavaScript code and pass it to the form you are using by the script tag you declare. This is an example of the agent (you must code it for your needs).
    ----------------------- Agent ----------------------------
    --------------------------
    
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim view As NotesView
    Dim docContext As notesdocument
    Dim doc As notesdocument
    
    Dim nombre As String
    Dim cedula As String
    Dim param As String
    Dim codJs As String
    
    ' Read the parameters send by the URL
    Set db = session.GetDatabase
    ( "", "helptempeusuario.nsf" ) 
    Set view = db.getview("vieCedula")
    Set docContext = session.DocumentContext 
    url = docContext.Query_String(0)
    cedula = Mid( url, Instr( url, "&")+1)
    codJs = ""
    
    ' With the parameter search for the data you want 
    Set doc = view.getDocumentByKey( cedula, True ) 
    If Not doc Is Nothing Then
     nombre = docc.nombre(0)
    Else
     nombre = ""
    End If
    
    ' Now you have the data you want, so write it on your form.
    ' Call the inputs fields you want to write 
    the data and asign the values 
    ' All this JavaScript code is asigned to a string (CodJs) 
    ' You must have an input field called 'txtNomEmp'
    codJs = "document.getElementById
    ('txtNomEmp').value = '" + nombre + "';"
    ' You must have an input field called 'txtCedEmp'
    codJs = codJs + "document.getElementById
    ( 'txtCedEmp' ).value = '" + cedula + "';"
    
    ' Now you have your JavaScript Code, 
    so pass it to the script tag.
    ' This is make by a print statement.
    Print "Content-type: text/plaintext"
    ' Is very important to declare the content type as text, 
    so Domino isn't going to generate an html page.
    Print codJs
    
    ------------------------ Agent end -------------------------
    ----------------------------
    

Do you have comments on this tip? Let us know. Related information from SearchDomino.com:

  • Tip: DBLookup with JavaScript and XPath
  • Tip: DBColumn and DBLookup for all browsers using AJAX
  • Tip Library: JavaScript

    This tip was submitted to the SearchDomino.com tip library by member Carlos Jaramillo. Please let others know how useful it is via the rating scale at the end of the tip. Do you have a useful Lotus Notes, Domino, Workplace or WebSphere tip or code snippet to share? Submit it to our monthly tip contest and you could win a prize.

  • Dig Deeper on JavaScript for Lotus Notes Domino

    Start the conversation

    Send me notifications when other members comment.

    Please create a username to comment.

    -ADS BY GOOGLE

    SearchWindowsServer

    Search400

    • iSeries tutorials

      Search400.com's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

    • V6R1 upgrade planning checklist

      When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

    • Connecting multiple iSeries systems through DDM

      Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...

    SearchDataCenter

    SearchContentManagement

    Close