![](/img/trans.png)
[英]JavaScript: Pass Google Sheet cell value as Variable into POST URL
[英]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.