Heim >Web-Frontend >js-Tutorial >Warum kann jQuery den Typ eines Passwort-Eingabefelds nicht ändern?
jQuery: Kennworteingabetyp kann nicht geändert werden
Dieses Problem tritt auf, wenn versucht wird, den Typ eines Kennworteingabefelds mithilfe von „Text“ zu ändern jQuery, kann aber nicht ausgeführt werden. Der betreffende Code:
$(document).ready(function() { $('#password').attr('type', 'text'); $('#password').val('Password'); });
Ursache und Lösung
Bei diesem Verhalten handelt es sich höchstwahrscheinlich um eine vom Browser implementierte Sicherheitsmaßnahme. Gemäß dem jQuery-Quellcode:
// We can't allow the type property to be changed (since it causes problems in IE) if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode ) throw "type property can't be changed";
Für IE und möglicherweise andere Browser ist das Ändern der Art von Eingabefeldern (insbesondere sensibler Felder wie Passwörter) nicht zulässig.
Problemumgehung
Eine Problemumgehung besteht darin, direkten DOM-Code zu verwenden:
var pass = document.createElement('input'); pass.type = 'password'; document.body.appendChild(pass); pass.type = 'text'; pass.value = 'Password';
Das obige ist der detaillierte Inhalt vonWarum kann jQuery den Typ eines Passwort-Eingabefelds nicht ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!