Wie der Status in der JavaScript-Funktion weiterhin in HTML angezeigt wird

Nov 30 2020

Dies ist eine Fortsetzung der vorherigen Frage, die ich in diesem Forum gestellt habe.

Ich habe einige Änderungen am Code vorgenommen, indem ich eine andere Bedingung hinzugefügt habe. Ich versuche herauszufinden, wie der aktuelle Status beim Laden der Seite angezeigt wird. Der aktuelle Code zeigt den Status nur an, wenn auf die Schaltfläche geklickt wird.

Wie kann ich den aktuellen Status beim Laden der Seite anzeigen lassen und den Status aktualisieren, wenn auf die Schaltfläche geklickt wird?

CODE.GS

function doGet(e) {
  return HtmlService.createHtmlOutputFromFile('Index');
}

function checkStatus(notify) { 
  var employee = "John Peter";
  var ss = SpreadsheetApp.getActiveSpreadsheet();        
  var mainSheet = ss.getSheetByName("MAIN");
  var data = mainSheet.getDataRange().getValues();
  
  for (var j = 0; j < data.length; j++){
    var row = data[j];
    var mainSheet2 = row[4];
    var mainSheet3 = row[0];
    var status = (mainSheet2 =="IN" && mainSheet3 == employee) ; 
    if (status == true){
      var notify = employee +" You Are In"
      return notify;
      }
    else{
     var status = (mainSheet2 =="OUT" && mainSheet3 == employee) ; 
    if (status == true){
      var notify2 = employee +" You Are Out"
      return notify2;
  }
}
  }
}

Index.html

<body>
    <div>
      <button onclick="onStatus()">Check Status</button>
      <font color='Green' id="status" onbeforeprint="onStatus" ></font>
      </div>
      
    

    <script>
      function onStatus() {
        google.script.run.withSuccessHandler(updateStatus) // Send the backend result to updateStatus()
          .checkStatus(); // Call the backend function
      }

      function updateStatus(notify) {
        document.getElementById('status').innerHTML= notify;
      }
      
     
      
    </script>
  </body>

Antworten

2 VimalPatel Nov 30 2020 at 15:43

Sie können diese Funktion beim Laden der Seite wie unten beschrieben aufrufen. Fügen Sie dieses Skript am Ende hinzu, kurz bevor Ihr Body-Tag endet.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
</script>
<script>
    // The code in this function runs when the page is loaded.
    $(function() {
     google.script.run.withSuccessHandler(updateStatus)
              .checkStatus(); 
    });
</script>