Показать сообщение отдельно
  #2 (permalink)  
Старый 10.08.2011, 18:55
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Нельзя так делать. Некоторые браузеры должны даже ошибку выкидывать при попытке сменить тип поля. Это связано с секьюрностью типа. Обычно в таких случаях делают подмену на обычное текстовое поле со значением из поля пароля.
<table>
<tr>
    <td>Password:</td>
    <td><input type="password" id="pass"></td>
</tr>
<tr> 
    <td></td>
    <td><label><input type="checkbox" id="check"> Show password</label></td>
</tr>
</table>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
$('#check').change(function() {
    var $pass = $('#pass');

    if (!$pass.next().is('.pass-show')) {
        $('<input class="pass-show">').val($pass.val()).hide().insertAfter($pass);
    }

    if ($(this).is(':checked')) {
        $pass.hide().next().show();
    }
    else {
        $pass.show().next().hide();
    }
});
</script>

Последний раз редактировалось ваый, 10.08.2011 в 19:05.
Ответить с цитированием