为什么我从这段代码中得到一个未定义的结果?
的index.html
<div>
<input type="text" id="emp_name" placeholder="Employee Name" >
<p id="en"></p>
</div>
<script>
$( document ).ready(function() {
$( "#submit_password" ).submit(function() {
google.script.run.withSuccessHandler(function(ret){
$( "#thank_you" ).show();
$("#submit_password").slideUp();
console.log(ret);
}).sendPassword(this);
reloadSite();
});
getEmployeeName();
});
function getEmployeeName(){
alert(google.script.run.getEmployeeName());
document.getElementById('emp_name').value = google.script.run.getEmployeeName();
var name = google.script.run.getEmployeeName();
document.getElementById("en").innerHTML = name;
}
<script>
code.gs
function getEmployeeName(){
var ss = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1N-AeSs-vOa2nLPWx9gNBkeVkSq7Vp7D-0DWpXH1nh5o/edit#gid=0')
.getSheets()[0];
var value = ss.getRange(5,2,1,1).getValues();
var name = value[0][0];
Logger.log(name);
return name;
}
但在我的Logger中,我得到了预期的结果。非常感谢您的帮助。
答案 0 :(得分:0)
代码是异步运行的,可能还没有完成执行,结果仍未定义。
尝试添加HTML
function suc(x) {
return x;
}
然后
document.getElementById('emp_name').value =
google.script
.run
.withSuccessHandler(suc)
.getEmployeeName();