var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
inputs[i].onfocus = foo;
}
function foo(){
alert(this.value);
}
入力値を手動で入力する:
コード作品や警告正しい値を超えると関係なく、入力フィールドのタイプの。
入力値がブラウザで自動入力された場合:
入力フィールドがテキストの場合、コードは正しく機能し、警告を出します。パスワードフィールドの場合、空の文字列を警告します!
ブラウザのセキュリティポリシーのためにこの現象はありますか?または可能な回避策がありますか?私はChromeブラウザで試しました。JavaScriptで自動入力されたパスワードボックスの値を取得する方法はありますか?
あなたが提供したページによって事前設定された「値」属性にアクセスするのに問題があるかどうか、またはChromeが入力をパスワードマネージャーにどのように事前入力しているかについてお聞かせください。後者の場合は、私の答えを見てください。 – CzechErface
'value'属性が事前設定されている場合は問題ありません。問題は、ブラウザが入力ボックスをパスワードマネージャで自動的に入力するときです(このサイトのパスワードを保存すると言うとき)。この場合、ブラウザがDOM要素に値属性を挿入しないと、基本的には何が行われますか?あなたの答えはチェコに感謝し、それは私がこれを解決する方法はないようだ! –