トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     テキストフィールドでのパスワード入力
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
Åê¹ÆNo.5744
投稿日時: 2004-3-31 21:07
テキストフィールドでのパスワード入力
どうやったら良いのか考えてもわからなかったので、
質問させていただきます。

textフィールドのプロパティで[パスワード]を選択すると、
文字が伏字になるのは分かるのですが、この時の代わりに
表示される文字を変更することは出来ないでしょうか?

通常だと「*」が表示されるので、それをWindowsXPデフォルトの
「●」にしたいのですが・・・

何かよい方法は無いでしょうか?
よろしくお願いいたします。
ゲスト
Åê¹ÆNo.5751
投稿日時: 2004-3-31 22:20
Re: テキストフィールドでのパスワード入力
こんにちは。

おそらくその様な機能はエンベッドでは無いと思います。
TextField.onKillFocusイベントハンドラに、TextField.textプロパティを変数に格納してから「●」でマスクする処理を行う関数を割り当ててみれば出来るかなと思いますよ。
例えば、
//フレームアクション
//Field:TextField

var fieldStock = new String();
Field.onKillFocus = getMaskedWithDots;

function getMaskedWithDots()
{
     fieldStock = this.text;  //入力内容を格納
     this.text = "";
     while(this.text.length<fieldStock.length)
     {
          this.text += "●";
     }
}

参考程度に。
(私はあまり使ったことはありません。 )

引用:
textフィールドのプロパティで[パスワード]を選択すると、
文字が伏字になるのは分かるのですが、この時の代わりに
表示される文字を変更することは出来ないでしょうか?

通常だと「*」が表示されるので、それをWindowsXPデフォルトの
「●」にしたいのですが・・・
rin-ko
Åê¹ÆNo.5752
投稿日時: 2004-3-31 22:40
職人
居住地: 東京
投稿: 397
使用環境:
MacOSX10.5/10.4
WinXP SP3
MX2004Pro/CS3
Re: テキストフィールドでのパスワード入力
Watanabe Fumihikoさん、こんにちは。
上野亨氏の『ActionScriptバイブル』で紹介されていた方法ですが:
パスワード用フォント(この場合なら、どの文字も●になるフォント)を作ってテキストフィールドにうめこみます。
本付属のCD-ROMには著者作成フォント(abcが・・・になってるフォント)も同梱されてました。Flashだけでの解決じゃないのですが…フォントさえ用意できちゃえば、あとは楽かもですね。
ゲスト
Åê¹ÆNo.5754
投稿日時: 2004-3-31 23:17
Re: テキストフィールドでのパスワード入力
ありがとうございます。
なるほど

フォント埋め込みという方法もありましたか。
しかしフォントを埋め込んでしまうと、ファイルサイズが
大きくなってしまうので、ちょっとキツイですね。

引用:

おそらくその様な機能はエンベッドでは無いと思います。
TextField.onKillFocusイベントハンドラに、TextField.textプロパティを変数に格納してから「●」でマスクする処理を行う関数を割り当ててみれば出来るかなと思いますよ。
例えば、
//フレームアクション
//Field:TextField

var fieldStock = new String();
Field.onKillFocus = getMaskedWithDots;

function getMaskedWithDots()
{
     fieldStock = this.text;  //入力内容を格納
     this.text = "";
     while(this.text.length<fieldStock.length)
     {
          this.text += "●";
     }
}



の上記スクリプトで試してみたんですが、
入力中に変化しないのはマズイですよね、パスワードとして

試しに


Field.onKillFocus = getMaskedWithDots;


の部分を


Field.onChanged = getMaskedWithDots;


にしてみたんですが、文字が入れ替わるごとにカーソル位置が
一番最初に戻ってしまいます。

テキストフィールドのカーソル位置を制御することは
出来るのでしょうか?
nao
Åê¹ÆNo.5758
投稿日時: 2004-3-31 23:40
職人
居住地:
投稿: 208
使用環境:
WinXP Pro
Flash8 Professional
Re: テキストフィールドでのパスワード入力
ちょっと強引かもしれませんが…
等幅フォントなどを用いて入力されている文字数分だけ上から●のかたちのMCをかぶせるとか…

または根本的に銀行のタッチパネルのようにマウスで入れさせるとか…

でもrin-koさんの紹介されている方法でフォントを埋め込んでもさほど大きくならないような気もします.(気のせい…?


----------------
nao [seto@graffiti-web.org]

笠居トシヒロ
Åê¹ÆNo.5760
投稿日時: 2004-3-31 23:46
マスター
居住地: 兵庫
投稿: 870
使用環境:
SnowLeopard, Safari4, CS4
Windows7, IE8, CS4
Re: テキストフィールドでのパスワード入力
引用:
でもrin-koさんの紹介されている方法でフォントを埋め込んでもさほど大きくならないような気もします.(気のせい…?

気のせいじゃないでしょう(笑)
通常の1バイトフォントなら、全ての文字を埋め込んでも20KB程度です。
全ての文字が●なら10KB以内で収まるんじゃないでしょうか。


----------------
笠居 マッドシー
http://www.mad-c.com/

ゲスト
Åê¹ÆNo.5763
投稿日時: 2004-4-1 0:02
Re: テキストフィールドでのパスワード入力
最初に記述すればよかったのですが、
作ろうと思っているものは、擬似的にOS(ブラウザ中心)を
再現するものなんです。

その中で、ブラウザのフォームでパスワードを入力する作業を
FLASHで擬似的に行ってもらうものだったんですが。

1バイト文字だけだと、完璧な動作の再現は出来ないですよね

ちなみに

引用:

全ての文字が●なら10KB以内で収まるんじゃないでしょうか。


の部分ですが、
全ての文字が「●」になっているフォントは、どこかフリーでダウンロード出来るところは無いでしょうか?

あつかましくて申し訳ありません。
ゲスト
Åê¹ÆNo.5765
投稿日時: 2004-4-1 0:35
Re: テキストフィールドでのパスワード入力
もう別の方向に行ってしまってますが、とりあえず入力中に変化するようにしてみました。
ただ、理論から場合を網羅的に作った訳ではないので、格納ミスが起きない自信はありません。
普通の入力(複数変更やペーストも)には対応してます。

var fieldStock = new String();
Field.onChanged = getMaskedWithDots;

function getMaskedWithDots()
{
     var caret = Selection.getCaretIndex();
     //文字列数の変化
     var differ = this.text.length-fieldStock.length;
     //追加/変更された文字列
     var changed = new String();
     for(var n=0; n<this.text.length; n++) if(this.text.charAt(n)!="●") changed += this.text.charAt(n);
     //適用
     fieldStock = fieldStock.substr(0,caret-changed.length) + changed + fieldStock.substr(caret-differ);
     
     //マスク
     this.text = "";
     while(this.text.length<fieldStock.length)
     {
          this.text += "●";
     }
     Selection.setSelection(caret, caret);
}


引用:
1バイト文字だけだと、完璧な動作の再現は出来ないですよね
ゲスト
Åê¹ÆNo.5777
投稿日時: 2004-4-1 9:58
Re: テキストフィールドでのパスワード入力
ありがとうございます。

マツダさんのスクリプトを使わせていただきたいと思います。

感謝です。

最初は不可能かと思っていたんですが、
まだまだ勉強しないといけないですね。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops