2012-05-03 6 views
0

は非常に基本的なログインフォームを含むjQueryのUIのダイアログです:Firefoxが自動的に保存されたパスワードをJQuery UIダイアログに入力させる方法は?ここ

var dlg = $('\ 
    <div>\ 
    <form action=/dummy>\ 
     <p><input name=username type=text></p>\ 
     <p><input name=password type=password></p>\ 
     <p><input type=submit value="Log in"></p>\ 
    </form>\ 
    </div>\ 
'); 

dlg.dialog({ 
    closeText: 'cancel', 
    hide: 'fade', 
    modal: true, 
    close: function() 
    { 
     dlg.remove(); 
    } 
}); 

jsFiddle

Firefoxは私がボタンを押したときに詳細を保存するために提供していますが、その後いずれかで保存された内容を使用していません方法。どのように私はそれらを埋めるためにFirefoxを説得することができますか?

this questionに記載されている技術を試しましたが、役に立たなかったようです。

+1

フォームが読み込まれる前に、ページにそのフォームが存在する必要があります。動的に挿入された入力は機能しません。 [この回答のように] iframeを試しましたか(http://stackoverflow.com/a/4795376/27862)? – user123444555621

+0

私は推測しているだけかもしれませんが、恐らく、ダイアログが呼び出された後でなければ、ページが読み込まれたときにダイアログのコントロールが実際には存在しないため、パスワードを入力しないでしょう。セキュリティの見地からは、隠れた、または動的に作成されたコントロールにはデータが入力されないことがあります。 –

答えて

2

私はあなたのjsFIddleを更新:http://jsfiddle.net/nfhp9/5/

それは基本的に起こっているフォームは、ページのロードに存在しないとFirefoxは、ページのロード時の情報を入力するため。

+0

これは奇妙です...決してロード時に存在する必要があるとは思わない - 結局のところ、ユーザー名を変更すると、パスワードは別のものに置き換えられます!だから私は、ログインフォームをポップアップにしたい場合は、私はすべての単一のページビュー、隠されたにそれを提供する必要があります... –

+0

それは..またはあなたは、すべてのページで... –

+1

他の誰かがこのポストを突き抜けた場合...ポップアップ内でiframeを動的に作成することによって、他の人がこれを解決しました。少なくともFirefoxでは、パスワードボックスが新しく作成されたiframeの中にある場合、パスワードボックスに値が入力されます。メリットの1つは、マスターパスワードが設定されている場合、「ログイン」をクリックするまでは入力されないことです。 –