0

わかりました。Google Apps GUI ビルダーを使用しており、ID プロパティと名前プロパティの両方を「TextB1」に設定して、単純な textBox ウィジェットを定義しました。

ボタンも定義しました。

「TextB1」に設定されたコールバック要素とともに、ボタン マウス クリック イベントにハンドラーを追加しました。

私のハンドラ関数には、コードがあります:

Browser.msgBox(e.parameter.TextB1);

すべてを実行してボタンをクリックすると、ハンドラーが呼び出され、この行にヒットして「未定義」と表示されます。...

タイプミスなどがないことを確認するためにコピーと貼り付けを使用して、さまざまなウィジェットタイプでさまざまな可能性を試しましたが、まったく機能しませんでした。最後に、間違った場所で間違った参照を使用する可能性を避けるために、ID と名前を同じ値に設定して、すべてをこの単純な例にまとめました。

しかし、この単純な例でも、何が間違っているのかわかりません。私は実際には JavaScript プログラマーではありませんが、windows/c/c#/unix などを数十年以上使用しているので、これは非常に些細なことだと本当に思っていましたが、完全に床に落ちています (または、私のコードに完全に欠陥があるかもしれません;) ! ) ... いずれにせよ、誰かが私のやり方の誤りを指摘し、間違いを見つけたいと思ったら、私は非常に感謝しています。

興味深いことに、他の人がこの問題を抱えていましたが、名前プロパティとウィジェットの Id を設定する必要があることを指摘することは別として、問題が解決したと言う人もいます...それは断続的なバグですか、それとも私は何かばかをやっていますか?

他の明らかな間違いに関するヘルプやアドバイスは歓迎します...

4

1 に答える 1

1

私は同じ問題を抱えていましたが、「名前」プロパティの設定に関するヒントのおかげで、うまくいきました。

私もGUIビルダーを使用しています。このサンプルコードを複製しました:

https://developers.google.com/apps-script/class_textbox

GUIビルダーで同等のものに変更されましたが、次のように変更されました。

app.getElementById("ラベル").setText(eventInfo...

に:

app.getElementById("ラベル").setText(Utilities.jsonStringify(eventInfo));

これにより、コールバックに実際に何が渡されるかについて、もう少し洞察が得られます。また、私は webapp であるため、msgBox を使用できません。一部の人々は、送信ボタンではなく、基本的なボタン (私とこの例のように) を使用する必要があると言っています。結果を表示するのに十分な幅のラベルを作成してください。お役に立てれば。

于 2013-02-27T12:44:41.080 に答える