Jump to content
  • 0

Подмена полей


Serafim1991
 Share

Question

Не работает подмена полей

http://jsfiddle.net/NTrbx/

Должно быть: если чекбокс установлен, то вместо символов "*" в поле "Пароль" выводятся сами символы(цифры или буквы, не важно). Иначе - символы "*"

И вроде как все правильно, но не работает подмена, хоть ты тресни.

UPD: на jsfiddle работает при подключении любой из версий jQuery, но вот на форме - отказывается работать.

Вот полный код формы(php код я убрал. Может проблема в нем?)


<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Регистрационная форма</title>
<script type="text/javascript" src="jquery-1.7.2.js"></script>
<script type="text/javascript">
$('#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>
<script>
$(document).ready(function()
{
$('input, select, textarea').focus(function()
{
$(this).parent('li').addClass('active');
});
$('input, select, textarea').blur(function()
{
$(this).parent('li').removeClass('active');
});
document.cookie="TestCookie=12345678";
});
</script>



<link rel="stylesheet" type="text/css" href="StyleSheet.css">
</head>

<body>
<form action=" " method="POST" id="payment" >
<fieldset >
<legend>Форма для входа</legend>
<ol>
<li>
<label for="login">Логин</label>
<input id="login" name="login" type="text" placeholder="Введите логин" required >
<div></div>
</li>
<li>
<label for="pass">Пароль</label>
<input id="pass" name="pass" type="password" placeholder="Введите пароль" required>
<input type="checkbox" id="check"> Включить отображение пароля
<div></div>
</li>
</ol>
</fieldset>
<br/>
<button type="submit">Отправить</button>
<button class="reset" type="reset">Очистить</button>
<a href="/register.php">Регистрация</a>
</form>

</body>
</html>

Edited by Serafim1991
Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

В HTML изменить:

<input type="checkbox" id="check" onchange="passtext();"> Включить отображение пароля

И JS:


function passtext(){
var passinput = document.getElementById('pass');
(passinput.type == 'password') ? passinput.type = 'text' : passinput.type = 'password';
}
</script>

Edited by hypnocolor
  • Like 1
Link to comment
Share on other sites

  • 0

Меня пока устраивает вариант, описанный во втором сообщении.

Но до сих пор очень интересно - почему же на jsfiddle.net мой скрипт работает нормально, а на форме - нет. Хотя все действия - идентичны.

Link to comment
Share on other sites

  • 0
Но до сих пор очень интересно - почему же на jsfiddle.net мой скрипт работает нормально, а на форме - нет. Хотя все действия - идентичны.

На jsfiddle стоит автоматический ready, а у себя вы его не прописали. Поэтому скрипт не находит указанный объект. Так должно рабтать:


$(function() {
$('#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();
}
});

$('input, select, textarea').focus(function() {
$(this)
.parent('li')
.addClass('active');
});

$('input, select, textarea').blur(function() {
$(this)
.parent('li')
.removeClass('active');
});
});

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy