Home > Domino Tips > Developer > JavaScript > Dynamically changing the content of a form without refreshing the page
Domino Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

JAVASCRIPT

Dynamically changing the content of a form without refreshing the page


Carlos Jaramillo
12.06.2005
Rating: -3.43- (out of 5) Hall of fame tip of the month winner


Lotus Notes and Domino tips, tutorials and how-to articles
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


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.

    Rate this Tip
    To rate tips, you must be a member of SearchDomino.com.
    Register now to start rating these tips. Log in if you are already a member.




    Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



    RELATED CONTENT
    JavaScript
    Trap JavaScript runtime errors in Domino Web apps
    JavaScript workaround fixes Lotus Notes 8.x PostOpen event issue
    Write HTML and JavaScript in Notes view rows and columns on the Web
    JavaScript detects Web browser type and version in Notes/Domino 8.0.2
    JavaScript creates a jump box on a Lotus Notes Web form
    How to create dynamic JavaScript in Notes Domino without formulas
    Trap an attachment path via the Domino file upload control field
    Converting Lotus Notes views to XML documents using JavaScript
    Prevent errors on iFramed pages with JavaScript
    How to add keyboard functionality for Lotus Notes documents

    JavaScript for Lotus Notes Domino
    Trap JavaScript runtime errors in Domino Web apps
    JavaScript workaround fixes Lotus Notes 8.x PostOpen event issue
    Write HTML and JavaScript in Notes view rows and columns on the Web
    JavaScript detects Web browser type and version in Notes/Domino 8.0.2
    JavaScript creates a jump box on a Lotus Notes Web form
    Top 10 Lotus Notes/Domino coding and development tips of 2008
    How to create dynamic JavaScript in Notes Domino without formulas
    Trap an attachment path via the Domino file upload control field
    Converting Lotus Notes views to XML documents using JavaScript
    Mimic Lotus Notes Domino application functionality on the Web

    Lotus Notes Domino Agents
    How the Agent Profiler tool improves Notes/Domino performance
    Run or restart Notes/Domino agents via text messages
    Calculating results for a column in a Lotus Notes view
    Approve Lotus Notes documents using a BlackBerry mobile device
    LotusScript agent indexes Lotus Notes/Domino databases
    Top 10 Lotus Notes/Domino coding and development tips of 2008
    Open documents in Lotus Notes from the Web without a UNID
    Fix and update Lotus Notes documents with limited access
    Verify scheduled agent status with Domino Extensible Language (DXL)
    Top 10 Lotus Notes Domino programming and development tips of 2007

    RELATED RESOURCES
    2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
    Search Bitpipe.com for the latest white papers and business webcasts
    Whatis.com, the online computer dictionary

    DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



  • Domino & Lotus Notes Security Solutions: Authentication, Antispam, Encryption and Antivirus
    HomeTopicsITKnowledge ExchangeTipsAsk the ExpertsMultimediaWhite PapersDomino IT Downloads
    About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
    SEARCH 
    TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

    TechTarget Corporate Web Site  |  Media Kits  |  Site Map




    All Rights Reserved, Copyright 1999 - 2009, TechTarget | Read our Privacy Policy
      TechTarget - The IT Media ROI Experts