function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Aki99Aki99 

Use Inner retrieve in visualforce remote object

Hi,
I am trying to use a nested retrieve in the script for visualforce remote objects, but unable to achieve the same.
M using the following code for the same but the output shows nothing

<apex:remoteObjectModel name="Question__c" jsShorthand="Ques" fields="Id,Name,Title__c">
        <apex:remoteObjectField name="Option_1__c" jsShorthand="opt1"/>
        <apex:remoteObjectField name="Option_2__c" jsShorthand="opt2"/>
        <apex:remoteObjectField name="Option_3__c" jsShorthand="opt3"/>
        <apex:remoteObjectField name="Option_4__c" jsShorthand="opt4"/>
    </apex:remoteObjectModel>

    <apex:remoteObjectModel name="Student_Test__c" jsShorthand="Stest" fields="Name">
        <apex:remoteObjectField name="Question__c" jsShorthand="Ques"/>
        <apex:remoteObjectField name="Score__c" jsShorthand="Scor"/>
        <apex:remoteObjectField name="SelectedOption__c" jsShorthand="Selopt"/>
    </apex:remoteObjectModel>

<script>
start =  function(){

      var qt= new SObjectModel.Ques();
      var sco = new SObjectModel.Stest();
  
      qt.retrieve({limit:1},function(err, data){

        if(err==null){
          var divql = document.getElementById("div_ql");
         
          if(data.length==0){
            var divql = document.getElementById("div_ql");
           
            var ques_head= document.createElement("h1");
            ques_head.appendChild(document.createTextNode('End of File'));
            divql.appendChild(ques_head);
           
            sco.retrieve({limit:1},function(er,rec){
              if(er==null){
                if(rec.length!=0){
                  rec.forEach(function(dt) {
                    var sc = rec.get("Scor");
                    var st_score= document.createElement("h3");
                    st_score.appendChild(document.createTextNode('Score: '+sc)); 
                    divql.appendChild(st_score);
                  }
                }
               
              }
              else{
                alert("Error at EOF");
              }
            });
          }
        }
      }
    }
 

Swati GSwati G
Hi,

There is some error in javascript. Try below code.


start =  function(){

      var qt= new SObjectModel.Ques();
      var sco = new SObjectModel.Stest();
 
      qt.retrieve({limit:1},function(err, data){

        if(err==null){
          var divql = document.getElementById("div_ql");
        
          if(data.length==0){
            var divql = document.getElementById("div_ql");
          
            var ques_head= document.createElement("h1");
            ques_head.appendChild(document.createTextNode('End of File'));
            divql.appendChild(ques_head);
          
            sco.retrieve({limit:1},function(er,rec){
              if(er==null){
                if(rec.length!=0){
                  rec.forEach(function(dt) {
                    var sc = dt.get("Scor");
                    var st_score= document.createElement("h3");
                    st_score.appendChild(document.createTextNode('Score: '+sc));
                    divql.appendChild(st_score);
                  });
                }
              
              }
              else{
                alert("Error at EOF");
              }
            });
          }
        }
      });
    }