我想創建一個簡單的登錄表單。但是每當提交表單時,它都會轉到一個地址,https://n-hb3iawsdao7vaebunzezdpvnz2lfhrti7vfmd3a-0lu-script.googleusercontent.com/userCodeAppPanel?錯誤為
未捕獲的 NetworkError:由于 HTTP 0 導致連接失敗
如果我不將它包含在表單標簽中,一切都會正常作業,但由于輸入標簽的必需屬性,我需要這樣做。
代碼.GS:
function checkLogin(username, password) {
var url = '';
var ss= SpreadsheetApp.openByUrl(url);
var webAppSheet = ss.getSheetByName("users");
var getLastRow = webAppSheet.getLastRow();
var found_record = '';
for(var i = 1; i <= getLastRow; i )
{
if(webAppSheet.getRange(i, 2).getValue() == username &&
webAppSheet.getRange(i, 4).getValue() == password)
{
found_record = 'TRUE';
}
}
if(found_record == '')
{
found_record = 'FALSE';
}
return found_record;
}
JavaScript:
function loginUser() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
google.script.run.withSuccessHandler(function(output)
{
if(output == 'TRUE')
{
// console.log("Success");
}
else if(output == 'FALSE')
{
// console.log("Denied");
}).checkLogin(username, password);
}
HTML:
<div class="limiter">
<div class="container-login100" style="background-color: slategrey;">
<div class="wrap-login100">
<form onsubmit="loginUser()">
<span class="login100-form-logo">
<img src="sample.png" border="0">
</span>
<span class="login100-form-title p-b-34 p-t-27">
Intranet
</span>
<div class="wrap-input100 validate-input" data-validate = "Enter username">
<!-- <input type="text" name="username" placeholder="Username"> -->
<input class="input100" type="text" id="username" placeholder="Username" required>
<span class="focus-input100" data-placeholder=""></span>
</div>
<div class="wrap-input100 validate-input" data-validate="Enter password">
<!-- <input type="password" name="pass" placeholder="Password"> -->
<input class="input100" type="password" id="password" placeholder="Password" required>
<span class="focus-input100" data-placeholder=""></span>
</div>
<div class="container-login100-form-btn">
<button type="submit" class="login100-form-btn">
Login
</button>
</div>
</form>
</div>
</div>
</div>
uj5u.com熱心網友回復:
修改點:
當我看到你的腳本時,
loginUser()需要修改。因為,}需要添加。因此,當您的腳本通過單擊“登錄”按鈕運行時,會發生錯誤,因為loginUser()有問題。所以,我擔心你的顯示腳本可能與你測驗的腳本不同,出現Uncaught NetworkError: Connection failure due to HTTP 0.在本次修改中,為了正確運行腳本
withSuccessHandler,<form onsubmit="loginUser()">修改為<form onsubmit="loginUser(); return false;">.在您的腳本中,我認為
checkLogin可能會降低流程成本。
當這些點反映在你的放映腳本中時,下面的修改怎么樣?
修改后的腳本:
Google Apps 腳本方面:
function checkLogin(username, password) {
var url = '';
var ss = SpreadsheetApp.openByUrl(url);
var webAppSheet = ss.getSheetByName("users");
var find = webAppSheet.getDataRange().getDisplayValues().find(([, b, , d]) => b == username && d == password);
return find ? 'TRUE' : 'FALSE';
}
Javascript方面:
function loginUser() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
google.script.run.withSuccessHandler(function (output) {
if (output == 'TRUE') {
console.log("Success");
} else if (output == 'FALSE') {
console.log("Denied");
}
}).checkLogin(username, password);
}
HTML 方面:
<div class="limiter">
<div class="container-login100" style="background-color: slategrey;">
<div class="wrap-login100">
<form onsubmit="loginUser(); return false;"> <!-- Modified -->
<span class="login100-form-logo">
<img src="sample.png" border="0">
</span>
<span class="login100-form-title p-b-34 p-t-27">
Intranet
</span>
<div class="wrap-input100 validate-input" data-validate="Enter username">
<!-- <input type="text" name="username" placeholder="Username"> -->
<input class="input100" type="text" id="username" placeholder="Username" required>
<span class="focus-input100" data-placeholder=""></span>
</div>
<div class="wrap-input100 validate-input" data-validate="Enter password">
<!-- <input type="password" name="pass" placeholder="Password"> -->
<input class="input100" type="password" id="password" placeholder="Password" required>
<span class="focus-input100" data-placeholder=""></span>
</div>
<div class="container-login100-form-btn">
<button type="submit" class="login100-form-btn">
Login
</button>
</div>
</form>
</div>
</div>
</div>
筆記:
在此修改中,假設 Javascript、HTML 和 Google Apps Script 檔案放在同一個 Google Apps Script 專案中。請注意這一點。
如果您使用的是Web Apps,當您修改腳本時,請將最新的腳本反映到Web Apps。請注意這一點。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/520065.html
