1
Mypage.html
<div class="seven"><button onClick="Submit()">submit</button> </div>

<script type="text/javascript">
        function submit() {
            google.script.run.scores(document.forms[0]);
        }
</script>

....

Javascript.gs
function scores(form){
Logger.log("I am called")
}

上記のコードは完全に機能しますが、ボタンをクリックするたびに、HTML テンプレート化/デプロイされた Web ページもロード/リロード/更新する必要があります...

追加してみました

google.script.run.scores(document.forms[0]); (continued from above code, hence line repeated))
google.script.host.refresh (basically got the idea from host.close)
google.script.host.reload
google.script.host.load 

ボタンの onClick によってスコア関数が呼び出される (現在は機能している) 適切なコードを取得するのに誰か助けてください。ページが更新されます。

注:更新したいのですが、理由は-送信時に、データがGSheetにプッシュされ、更新時にドロップダウンで再度呼び出されます....

前もって感謝します....

4

1 に答える 1

0

私の知る限り、テンプレート化された HTML を GAS で更新する方法はありません。

できたとしても、これは「更新」スタイルの Web サイトに似ていますが (非常に遅いバージョンではありますが)、クライアントとサーバーの間でデータを継続的にやり取りし、レンダリングされた形式でクライアントに戻す必要があります。非常に遅く、非効率的です。

サーバー側のアクション (google.script.run...) を実行するたびに、Google のクラウド サーバーはアプリケーションの状態を読み込み、関数を実行してから終了する必要があります。

私の提案 (少しテンプレートを必要とする製品に取り組んでいるため) は、単純にクライアント側の JavaScript を使用して UI をレンダリングおよび再レンダリングすることです。

私は主に jQuery を使用しますが、KnockoutJS などの優れた JavaScript テンプレート エンジンと比較すると、非常に冗長で時間がかかります。

SO ユーザーが、GAS でレスポンシブでインタラクティブな UI を作成するためのより良い方法を見つけた場合は、お知らせください。

于 2013-12-05T12:54:33.617 に答える