0

私はすでにstackoverflowでこの質問に対するいくつかの回答を読みましたが、私のケースを機能させることができませんでした。

GUIビルダーにコンポーネントがあり、[送信]ボタンを押した後、コードが実行されてrespondToSubmit関数が実行されますが、fileNameが定義されていません。fileNameは、コンポーネントFileUploadの入力フィールドのNameの内容です。何が悪いのかアイデアはありますか?

function respondToSubmit(e) {

  var app = UiApp.getActiveApplication();

  var fileBlob = e.parameter.fileName;

  throw(fileBlob); // fileBlob = undefined!!!

  return app;

}

ここに画像の説明を入力してください

最近のコード:

関数doPost(e){

throw( "doPost"); //スローされないため、コードはここでは実行されません!

var app = UiApp.getActiveApplication();

var fileBlob = e.parameter.FileUpload1;

アプリを返す;

}

ここに画像の説明を入力してください

4

2 に答える 2

0

ボタンには2つのタイプがあります。1つは通常のボタンで、もう1つは送信ボタンです(フォームパネルにのみ配置できます)。

  1. 通常のボタンではなく、[送信]ボタンを使用していることを確認してください

  2. [送信]ボタンを使用する場合、ハンドラー関数を提供する必要はありません。送信ボタン。デフォルトでは、doPost(e)と呼ばれる特別な関数によって処理されます。したがって、doPost関数を作成すると、パラメーターのファイル名を付けることができます。

FileUploadウィジェットのドキュメントには、これがどのように行われるかについての良い例があります。

于 2012-09-14T09:58:33.847 に答える
0

ラベル、テキストボックス、送信ボタンをすべてフローパネルに配置し、フォームパネルで囲む必要があると思います。「予期しないエラー」でさえ、これとまったく同じ問題が発生しました。これらすべての要素をフローパネルに配置することで解決しました。

于 2013-01-06T03:57:10.007 に答える