2

標準のGoogleドライブ経費報告システムを変更して、マネージャーがフォームを承認/却下できるコンピテンシーとエクスペリエンスのマトリックスとして使用できるようにしました。私が直面している問題は、フォームがマネージャーによって拒否されたときに、URLが事前に入力されたフォームへのリンクを含むリンクを従業員に送り返すことです。

ただし、従業員が元のフォームに値を入力しなかった場合、URLは「未定義」として値を入力します。

質問、「未定義」の値を削除または置換するURLを使用して、フォームに事前入力できますか?

おそらく、コードは私ができるよりもよく説明するでしょう。

+ "<P><b>" + 'Please re-submit your form <a href=' + USER_FORM_URL +
'&entry_2=' + encodeURIComponent(row.forename) + '&entry_3=' +
encodeURIComponent(row.surname) + '>here</a></b>'

「そこに」解決策を見つけるのに苦労して、どんな助けでも大いに感謝されるでしょう。

トム

私は新しいポスターなので、画像リンクhttp://s11.postimage.org/dyd1olkoz/url_stack.jpg 。

4

1 に答える 1

0

経費報告スプレッドシートで値が空の場合getObjects()、スクリプト内の関数はrow、後で で使用されるオブジェクトへの値の追加をスキップする可能性があるようです。sendReportToManager()そのため、後で次のようなものrow.bananas(またはシートが空でオブジェクトに定義されていないもの) を追加しようとすると、代わりに「未定義」が文字列に追加されます。「未定義」の値を持つフォームのクエリ文字列を見ると、URL のクエリ文字列に「未定義」が表示されます。

encodeURIComponent(row.XXXX)空の可能性のある列の呼び出しを次のようにラップすることで、これを回避できます。row.XXXX ? encodeURIComponent(row.XXXX) : ""

したがって、次のようなものを置き換えます。

+ "<P><b>" + 'Please re-submit your form <a href=' + USER_FORM_URL + 
'&entry_2=' + encodeURIComponent(row.forename) + '&entry_3=' +

+ "<P><b>" + 'Please re-submit your form <a href=' + USER_FORM_URL + 
'&entry_2=' + (row.forename ? encodeURIComponent(row.forename) : "") + '&entry_3=' +
于 2012-11-23T23:08:31.853 に答える