■ ダメなコード
function onLoad() {
// 商品発送日入力に今日の日付をセット
const today = new Date().toLocaleDateString('ja-JP',
{year: 'numeric',month: '2-digit', day: '2-digit'});
document.getElementById('shippingDate').value = today;
document.getElementById('orderDate').disabled = true;
document.getElementById('loginUser').innerText = 'NULL';
// ログインユーザ名を得る
google.script.run.withSuccessHandler(function(loginUserName) {
// ログインユーザ名をhiddenの’loginUser’に保存する
document.getElementById('loginUser').innerText = loginUserName;
// debug
alert(loginUserName);
}).getLoginUser();
// debug
alert('loginUser:' + document.getElementById('loginUser').innerText);
if(document.getElementById('loginUser').innerText == 'NULL') {
// ログインに失敗(Xボタンで抜けた)したので、再表示を促す。
document.body.innerHTML = 'ログインに失敗しました。';
}
}
■ 正しいコード
function onLoad() {
// 商品発送日入力に今日の日付をセット
const today = new Date().toLocaleDateString('ja-JP',
{year: 'numeric',month: '2-digit', day: '2-digit'});
document.getElementById('shippingDate').value = today;
document.getElementById('orderDate').disabled = true;
document.getElementById('loginUser').innerText = 'NULL';
// ログインユーザ名を得る
google.script.run.withSuccessHandler(function(loginUserName) {
// ログインユーザ名をhiddenの’loginUser’に保存する
document.getElementById('loginUser').innerText = loginUserName;
// debug
alert(loginUserName);
// debug
alert('loginUser:' + document.getElementById('loginUser').innerText);
if(document.getElementById('loginUser').innerText == 'NULL') {
// ログインに失敗(Xボタンで抜けた)したので、再表示を促す。
document.body.innerHTML = 'ログインに失敗しました。';
}
}).getLoginUser();
}
google.script.runは、非同期なので、帰ってくる前にloginUserを拾っていたのが原因。
google.script.runのハンドラーで実行するように修正するとちゃんと動いた。
てなわけで、最近は生成AIにプログラムを教えてもらっている。(´・ω・`)
■
虎に翼、平田満が出るのは、HPを見て知っていたけど、たった数シーンでいなくなるとは...。
--
No comments:
Post a Comment