簡體   English   中英

來自 GOOGLE SHEET CELL VALUE 的變量值 FECTH(GOOGLE APPS 腳本)(JavaScript)

[英]VARIABLE VALUE FECTH FROM GOOGLE SHEET CELL VALUE (GOOGLE APPS SCRIPTS) (JAVASCRIPT)

大家下午好,我希望看看是否有人可以幫助我解決這個問題。 我有一個代碼可以檢測輸入是否填充了正確的數據(例如:用戶名),並根據變量的值對其進行驗證。 我想看看是否有可能不是從變量驗證值,而是從 google 表驗證該值。 或者查看是否可以從 google 表中讀取變量的值,而不是直接在代碼中設置它。 希望有辦法,最好只使用 Javascript。我附上了 HTML 和 GS 代碼的副本以及一張谷歌表格的圖像(圖 1),其中要驗證的值位於其中。 在此示例中,如果在輸入中捕獲名稱“JHON”,將顯示“正確”消息,如果輸入不同的值,將顯示“不正確”消息。 要驗證的數據在變量的值 (var value_name = "JHON") 中找到,該值直接輸入到變量中(圖 2),但我需要從 google 表中驗證數據。 希望有辦法,先謝謝了。

HTML

<!DOCTYPE html>
<html>
<head>
    <base target="_top">
</head>
    <br>   
    NAME:<br>
    <input type="text" id="name">

    <script>
     var user_name = "JHON"
    </script>       
  
    <script>
function checkUser() {
    if (document.getElementById("name").value == user_name) {
         alert ("correct");
    }
        else {
        alert ("incorrect");
    }
    }
    </script>  

   <input type='button' value='VALIDATE' onclick="checkUser()" >

</html> 

GS
(函數“fetchUserValues1()”,是 function,認為需要從 GoogleSheets 獲取值,但無法使其工作)

 function doGet() {
  var template = HtmlService.createTemplateFromFile("HTML_start_page")
  return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
  return HtmlService.createHtmlOutputFromFile('HTML_start_page');
}


function fetchUserValues1(){
    var ss = SpreadsheetApp.openByUrl("GoogleSheet URL"); 
     var sheetNames = ss.getSheetByName("Sheet 1"); 
  var user_name  =  sheetNames .getRange("A2").getValue();
    return user_name;
}

在此處輸入圖像描述

所以看看你在做什么和你的代碼,我認為你錯過了一些使用谷歌“HTML 服務”的東西。

https://developers.google.com/apps-script/guides/html/communication

頁面頂部有一個index.html的優秀簡單示例,它是配對的code.gs

我認為鑒於您提供的代碼,您可能希望您的checkUser執行google.script.run.fetchUserValues1()或讓按鈕像google.script.run.withSuccessHandler(checkUser).fetchUserValues1()

您可能希望成功處理程序能夠將.fetchUserValues1()的 output 傳遞到您的checkUser() function。

所以你的 HTML 可能看起來像......

<!DOCTYPE html>
<html>

<head>
    <base target="_top">
</head>
<br>
NAME:<br>
<input type="text" id="name">

<script>
    function checkUser(user_name) {
        if (document.getElementById("name").value == user_name) {
            alert("correct");
        }
        else {
            alert("incorrect");
        }
    }

    function handleButton() {
        google.script.run.withSuccessHandler(checkUser).fetchUserValues1()
    }
</script>

<input type='button' value='VALIDATE' onclick="handleButton()">

</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM