Показать / скрыть пароль внутри UpdatePanel asp.net

Я пытаюсь показать / скрыть пароли внутри UpdatePanel в asp.net. Я назначил использование AsyncPostBackTrigger как:

<asp:AsyncPostBackTrigger ControlID="chkRegister" EventName="CheckedChanged" />

Я также использовал UpdateMOde = "Conditional" для UpdatePanel:

<asp:UpdatePanel ID="UpdatePanelRegister" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional">

И, наконец, я установил AutoPostBack = "true" для флажка:

<asp:CheckBox ID="chkRegister" class="chk" runat="server" AutoPostBack="true" OnCheckedChanged="chkRegisterCheckedChanged"/>

«ChkRegisterCheckedChanged» вызывает функцию JavaScript, которую я проверил, и она вызывается. JS - просто показать или скрыть текст внутри поля пароля:

function showPassword() {
var x = document.getElementById("txtPasswordReg");
if (x.type === "password") {
    x.type = "text";
} else {
    x.type = "password";
}

}

Проблема в том, что вместо того, чтобы показывать пароль, он фактически очищает поля (возможно, полный ответ?). Есть идеи, как это обойти?

Спасибо заранее за вашу помощь.


person 1moreLearner    schedule 02.04.2018    source источник


Ответы (1)


<input type="text" id="txtPasswordReg" type="password" value="testPassword">
<button onclick="ToggleShowPassword()">Toggle Password</button>
<script>
function ToggleShowPassword() {
    var x = document.getElementById("txtPasswordReg");
    if (x.type == "password") {
        x.type = "text";
    } else {
        x.type = "password";
    }
}
</script>

Эта функция действительно работает. я не уверен, почему у вас такая проблема

JSFiddle

person Kieran Holroyd    schedule 02.04.2018
comment
@Kieram, да, JS нормально работает. Вроде что то с asp UpadatePanel. Тем не менее, спасибо за ответ. Я ценю. - person 1moreLearner; 03.04.2018