Я создаю основную c функцию входа в систему на GAS HTML. В моем HTML у меня есть форма, которая собирает и хранит пользовательский ввод с назначенными переменными (fn, ln, em, pw). Затем он отправляет информацию на лист (в котором есть формулы для проверки учетных данных), а затем в определенной ячейке («E2») будет отображаться «Найдено» или «Не найдено». Затем он напечатает имя в ячейке ('E1'), если оператор if
ложен. Эта часть выполняется правильно, но 2 функции render('setup')
и notFound()
не будут выполняться (независимо от того, является ли оператор if
истинным или ложным, ни одна из них не работает.
Я знаю render('setup')
Функция отлично работает в doGet
и при вызове других функций.
function signIn(fn,ln,em,pw) {
var url = 'www.somelink.com'
var ss = SpreadsheetApp.openByUrl(url);
var login = ss.getSheetByName('login');
var fname = login.getRange('F1');
var lname = login.getRange('G1');
var email = login.getRange('H1');
var pword = login.getRange('I1');
fname.setValue(fn);
lname.setValue(ln);
email.setValue(em);
pword.setValue(pw);
var check = login.getRange('E2').getDisplayValue();
var name = login.getRange('F2').getDisplayValue();
if (check === "Not Found"){
return notFound(); // THIS DOESN'T EXECUTE
} else {
login.getRange('E1').setValue(name);
return render('setup'); // AND THIS DOESN'T EXECUTE
}
}
РЕДАКТИРОВАТЬ: HTML для вызова signIn
функции.
<div class="button" align="center">
<button id="submit" class="btn waves-effect waves-light" onclick="var fn = document.getElementById('first_name').value;
var ln = document.getElementById('last_name').value;
var em = document.getElementById('email').value;
var pw = document.getElementById('password').value;
google.script.run.signIn(fn,ln,em,pw)">Submit
<i class="material-icons right">send</i>
</button>