Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.08.2011, 18:44
Кандидат Javascript-наук
Отправить личное сообщение для Beriagts Посмотреть профиль Найти все сообщения от Beriagts
 
Регистрация: 31.07.2011
Сообщений: 118

Смена атрибута в input
Как сделать чтобы при крике на чекбокс, меняло атрибут type у формы.
Есть такой код
<form>
<input  type="password" value="12312" id="pas"/>
<input type="checkbox" id="zed"/>
</form>

Набросал какой то такой скрипт
if($('#zeichen:checked').length)
    {
        $('#pass').removeAttr('type');
        $('#pass').attr('type','text');
    }
    else
    {
Ответить с цитированием
  #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.
Ответить с цитированием
  #3 (permalink)  
Старый 19.04.2016, 15:03
Аватар для FR13NDS
Новичок на форуме
Отправить личное сообщение для FR13NDS Посмотреть профиль Найти все сообщения от FR13NDS
 
Регистрация: 19.04.2016
Сообщений: 1

Срочно подскажи пожалуйста
А как вместо чекбокса заменить на div или кнопку, что бы при нажатии на кропку менялся атрибут
Ответить с цитированием
  #4 (permalink)  
Старый 19.04.2016, 17:03
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от FR13NDS Посмотреть сообщение
А как вместо чекбокса заменить на div или кнопку, что бы при нажатии на кропку менялся атрибут
В примере ваый изменить строки 8 и 14, 17
<table>
<tr>
    <td>Password:</td>
    <td><input type="password" id="pass"></td>
</tr>
<tr> 
    <td></td>
    <td><input type="button" id="check" value="Show password" /></td>
</tr>
</table>

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

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

    if ($pass.css('display') != 'none') {
        $pass.hide().next().show();
    }
    else {
        $pass.show().next().hide();
    }
});
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Opera не выполняет style.fontSize=... в поле input Маэстро Opera, Safari и др. 6 20.06.2011 12:03
Изменение множества элементов Input по определённом призна Лавсановые Волокна Элементы интерфейса 1 24.12.2010 10:37
в теге input изменение атрибута type gabber Internet Explorer 6 11.11.2008 13:01
Копирование из одного input в другой input bar-boss Общие вопросы Javascript 7 08.04.2008 19:10
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55