【问题标题】:VARIABLE VALUE FECTH FROM GOOGLE SHEET CELL VALUE (GOOGLE APPS SCRIPTS) (JAVASCRIPT)从 GOOGLE SHEET 单元格值中获取变量值(GOOGLE APPS 脚本)(JavaScript)
【发布时间】:2023-01-07 15:45:20
【问题描述】:

大家下午好,我希望看看是否有人可以帮助我解决这个问题。我有一个代码可以检测输入是否填充了正确的数据(例如:用户名),并根据变量的值对其进行验证。我想看看是否有可能不是从变量验证值,而是从 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()”是一个认为需要从 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;
}

【问题讨论】:

    标签: javascript google-apps-script google-sheets


    【解决方案1】:

    所以看看你在做什么和你的代码,我认为你错过了一些使用谷歌“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() 的输出传递到您的 checkUser() 函数中。

    所以你的 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多