Lookup Field Remains Empty when Setting Value with Javascript

rss

Posted by Michael Rogers - Jun 10 ’16 at 10:24

Hi,

Currently in the evaluation period of your products, seems to be working really well for what we're looking for but I'm having an issue with setting a lookup field from javascript.

I have two lists, 1st) Equipment  and 2nd) Events assocaited with equipment list. Whenever the status of an equipment changes a new item is created in the Events list to hold the information realted to the status change.

On the Display form of an item from Equipment list I have a set of hyperlinks at the top (hyperlinks pass information like equipment ID, name, and the new status). When a user clicks one of the links on the equipment form they're taken  to the a New Event form. I have script on the New Event form which grabs the equipment ID and new status and sets the lookup fields.

The issue is the lookup fields display blank, I know they were correctly set because when I save the event and view the event both the status and equipment are correct. Do you have any tips to figure out why the lookup fields are not dispalying the information? Thank you!

Process:

1) User is directed to Equipment Display Form: https://i.imgsafe.org/ad99e8048b.jpg

2) User slects the hyperlink corresponding to action to carry out (in this example they're clicking "Loaded for Return")

3) User is directed to the "New Event" form with parameters passed including equipment ID and new status: https://i.imgsafe.org/ad99e23b74.jpg

The first field with an "x" in it should display the Title of the equipment from the equipment list, and the next field should contain the new status. Code used to set those fields:

function setEquipmentID() {
var equipID = fd.getUrlParam(decodeURIComponent(window.location.href), 'equipID'); fd.field('Equipment').control().value(equipID); }

function getNewStatus() { var newStatusID = fd.getUrlParam(decodeURIComponent(window.location.href), 'newStatusID'); fd.field('Status').control().value(newStatusID); //alert(newStatusID); }

If I save the form, the correct value is displayed (so I know the code is setting the ID properly, I just can't get the value to display on the New form): https://i.imgsafe.org/ad99d8334d.jpg

 

Any help would be greatly appreciated, thank you!!

  • Dmitry Kozlov
    Dmitry Kozlov
    Admin
    Member for: 6 years 2 months 20 days
    #1 by Dmitry Kozlov Jun 12 ’16 at 12:32

    Thank you for the question.

    Cross-site Lookup does not load all items from the source list at once, so it cannot populate a title by the ID. You should pass the title via query string as you do with the ID. Then set both, the ID and title following way:

    function setEquipmentID() {
        var equipID = GetUrlKeyValue('equipID');
        var equipTitle = GetUrlKeyValue('equipTitle');
        fd.field('Equipment').value([equipID + ';#' + equipTitle]); 
        // or for a single-value lookup:
        // fd.field('Equipment').value(equipID + ';#' + equipTitle); 
    }
    
Displaying 1 to 1 of 1 messages