2017-06-13 11 views
0

非常に単純なページがあり、ユーザーは1つまたは2つのオプションを選択するだけで、残りのフォームが自動的に埋められます。このフォームでは、データを入力するユーザーがユーザー名とパスワードを入力する必要があります。WebフォームのHTMLフィールドタイプ=パスワードの値を自動的に入力

私はこれをWebの他の部分でも使用していますが、パスワードフィールドでは入力できません。フォームでsendキーを押すと、パスワードが入力されません。

<select id="username" name="username" onChange="getpass(this.value)"> 
.... 
.... 
<input id="pwd" size="10" type="password" name="password" value=""> 

変化にinvoquedれるjavascriptは次のとおりです。

function getpass(str) { 

var xhttp; 
    if (str.length == 0) { 
    document.getElementById("pwd").innerHTML = ""; 
    return; 
    } 
    xhttp = new XMLHttpRequest(); 
    xhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     document.getElementById("pwd").innerHTML = this.responseText; 
    } 
    }; 
    xhttp.open("GET", "getpass.php?q="+str, true); 
    xhttp.send(); 
} 

私がパスワードとして使用される文字列が正しくオプションとして表示され、選択リストにフィールドを変更した場合。しかし、Submitフォームはパスワードタイプを予期しているので失敗します。

考えられるのは、ユーザーが既知の値(ユーザー名とほぼ同じ)であるため、パスワードを2回入力する必要がないようにすることです。すべてのセキュリティの考慮事項はこのユースケースでは関係ありません。

+0

あなたはjQueryのを使用することはできますか? –

+0

うわー。この考え方を中止する。常にパスワードで保護されている、優先順位を設定しないでください。パスワードを決して保管しないでください。 – Martijn

+0

また、ブラウザでプロンプトが表示されたときに[ストアパスワード]をクリックするように指示するだけで、はるかに安全なソリューションが得られます。 – Martijn

答えて

1

これを試してみてください:

document.getElementById("pwd").value = this.responseText; 
関連する問題