4

Google AppsforEducationを使用して学校のスタッフが使用するパスワードリセットフォームを作成しています。HTMLService APIを使用してhtmlファイルをインポートし、それをテンプレートとして使用しています。そのファイルの一部は次のテーブルです。

  <table id=passwords>
    <tr>
      <td>New Password</td>
      <td>
        <input name='password1' id='password1' type='password'/>
      </td>
    </tr>
    <tr>
      <td>Confirm New Password</td>
      <td>
        <input name='password2' id='password2' type='password'/>
      </td>
    </tr>
  </table>

これをGoogleサイトページにガジェットとして表示するとtype='password'、HTMLからパスワードが失われるため、ユーザーがパスワードを入力してもパスワードは非表示になりません。

  <table id="passwords-caja-guest-0___">
    <tbody><tr>
      <td>New Password</td>
      <td>
        <input autocomplete="off" id="password1-caja-guest-0___" name="password1">
      </td>
    </tr>
    <tr>
      <td>Confirm New Password</td>
      <td>
        <input autocomplete="off" id="password2-caja-guest-0___" name="password2">
      </td>
    </tr>
  </tbody></table>

代わりに、パスワードを非表示にするパスワード入力ウィジェットを備えたUIServiceの使用に移行できますが、その後、サイトを保守する他の人々もUIServiceのかなり長いAPIを学習する必要があります。

そのため、このコンテキストで入力されたパスワードを非表示にする方法についてのアイデアを探しています(つまり、ユーザーがパスワードを入力したときにアスタリスクまたは箇条書きを表示するだけです)。

4

1 に答える 1

4

おめでとう!あなたは、新しい HtmlService に関する最初のバグを報告しました :)。

サニタイズステップで type=password が失われたようです。バグ 1487として登録されています。

回避策として、これは今日問題なく動作します。

<input name='password1' id='password1' />
<script>document.getElementById('password1').type='password'</script>

つまり、JavaScript で自分で型を設定するとうまくいきます。ただし、これは一時的な回避策にすぎません。根本的なバグをできるだけ早く修正します。ご報告ありがとうございます。

更新: 根本的なバグは Caja で修正されており、次の Apps Script リリースで取り上げる予定です。

于 2012-07-02T14:10:43.687 に答える