Форма смены пароля, password/text, показать все что скрыто
Здравствуйте дорогие жабаскриптеры!
Нужна ваша помощь. Есть форма смены пароля, чекбокс, что бы звездочки в инпутах поменять на символы. Все работает, проблема не в этом. Проблема в том, что если я до введения паролей включаю форму "Показать пароль", то сам пароль показывается, но в POST запрос не передается. Если я сначала ввожу данные, потом включаю показ - данные передаются. Догадываюсь, что тут кака то маленькая хрень, но недостаток образования в jQuery делает свое черное дело. Буду очень благодарен за помощь. $content .= <<<HTML <form method="post" name='exch' action=''> $lang[exchange_old_pass]:<input type='password' id='old_pass' name='old_pass' /> $lang[exchange_new_pass]:<input type='password' id='pass' name='pass' onblur="CheckReg('pass',this.value); return false;"/> <label><input type="checkbox" id="show_pass">$lang[exchange_show]</label> <input type='submit' value="$lang[exchange_go]" name="go" /> </form> <script> $('#show_pass').change(function() { var pass = $('#old_pass'); var newpass = $('#pass'); if (!pass.next().is('.pass-show') | !newpass.next().is('.pass-show')) { $('<input class="pass-show">').val(pass.val()).hide().insertAfter(pass); $('<input class="pass-show">').val(newpass.val()).hide().insertAfter(newpass); } if ($(this).is(':checked')) { pass.hide().next().show(); newpass.hide().next().show(); } else { pass.show().next().hide(); newpass.show().next().hide(); } }); </script> HTML; |
<input type="password" id="old_pass" name="old_pass" /> <input type="password" id="pass" name="pass" onblur="return;CheckReg('pass',this.value)" /> <input type="checkbox" id="show_pass" /> <script src="//code.jquery.com/jquery-latest.js"></script> <script> (function(){ var fields = [$('#old_pass').get(0), $('#pass').get(0)]; $('#show_pass').change(function() { var type = this.checked ? 'text' : 'password'; try { $(fields).prop('type', type); } catch (e) { // IE workaround for (var i=0; i < fields.length; i++) { $(fields[i]).replaceWith(function(){ return fields[i] = $('<input/>', { id: this.id, name: this.name, value: this.value, onblur: this.onblur, type: type }).get(0); }); } } }); })(); </script> |
Спасибо тебе, добрый человек, все работает как из пушки.
|
Часовой пояс GMT +3, время: 09:26. |