mirror of
https://github.com/Doodle3D/doodle3d-connect.git
synced 2024-12-25 01:53:48 +01:00
Better show password method
This commit is contained in:
parent
7b929a1506
commit
24c0a31268
@ -25,7 +25,7 @@
|
|||||||
_title = _page.find("h3");
|
_title = _page.find("h3");
|
||||||
_form = _page.find("form");
|
_form = _page.find("form");
|
||||||
_passwordField = _form.find("input[name=password]");
|
_passwordField = _form.find("input[name=password]");
|
||||||
_passwordField.showPassword();
|
_passwordField.psswrd();
|
||||||
_passwordCloneField = _form.find("input[name=password-clone]");
|
_passwordCloneField = _form.find("input[name=password-clone]");
|
||||||
_submitButton = _form.find("input[type=submit]");
|
_submitButton = _form.find("input[type=submit]");
|
||||||
|
|
||||||
|
17
js/libs/jquery.psswrd.js
Executable file
17
js/libs/jquery.psswrd.js
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
(function($){
|
||||||
|
$.fn.extend({
|
||||||
|
psswrd: function() {
|
||||||
|
return $(this).each(function(){
|
||||||
|
console.log(" each: ",$(this));
|
||||||
|
var $input = $(this);
|
||||||
|
var $checkbox = $($input.data('typetoggle'));
|
||||||
|
|
||||||
|
$checkbox.change(updateType);
|
||||||
|
updateType();
|
||||||
|
function updateType() {
|
||||||
|
$input[0].type = $checkbox.is(':checked') ? 'text' : 'password';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})(jQuery);
|
@ -1,118 +0,0 @@
|
|||||||
/*
|
|
||||||
* @name Show Password
|
|
||||||
* @descripton
|
|
||||||
* @version 1.3
|
|
||||||
* @requires Jquery 1.5
|
|
||||||
*
|
|
||||||
* @author Jan Jarfalk
|
|
||||||
* @author-email jan.jarfalk@unwrongest.com
|
|
||||||
* @author-website http://www.unwrongest.com
|
|
||||||
*
|
|
||||||
* @special-thanks Michel Gratton
|
|
||||||
*
|
|
||||||
* @licens MIT License - http://www.opensource.org/licenses/mit-license.php
|
|
||||||
*/
|
|
||||||
(function($){
|
|
||||||
$.fn.extend({
|
|
||||||
showPassword: function(c) {
|
|
||||||
|
|
||||||
// Setup callback object
|
|
||||||
var callback = {'fn':null,'args':{}}
|
|
||||||
callback.fn = c;
|
|
||||||
|
|
||||||
// Clones passwords and turn the clones into text inputs
|
|
||||||
var cloneElement = function( element ) {
|
|
||||||
|
|
||||||
var $element = $(element);
|
|
||||||
|
|
||||||
$clone = $("<input />");
|
|
||||||
|
|
||||||
// Name added for JQuery Validation compatibility
|
|
||||||
// Element name is required to avoid script warning.
|
|
||||||
$clone.attr({
|
|
||||||
'type' : 'text',
|
|
||||||
'class' : $element.attr('class'),
|
|
||||||
'style' : $element.attr('style'),
|
|
||||||
'size' : $element.attr('size'),
|
|
||||||
'name' : $element.attr('name')+'-clone',
|
|
||||||
'tabindex' : $element.attr('tabindex')
|
|
||||||
});
|
|
||||||
|
|
||||||
return $clone;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
// Transfers values between two elements
|
|
||||||
var update = function(a,b){
|
|
||||||
b.val(a.val());
|
|
||||||
};
|
|
||||||
|
|
||||||
// Shows a or b depending on checkbox
|
|
||||||
var setState = function( checkbox, a, b ){
|
|
||||||
|
|
||||||
if(checkbox.is(':checked')){
|
|
||||||
update(a,b);
|
|
||||||
b.show();
|
|
||||||
a.hide();
|
|
||||||
} else {
|
|
||||||
update(b,a);
|
|
||||||
b.hide();
|
|
||||||
a.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
return this.each(function() {
|
|
||||||
|
|
||||||
var $input = $(this),
|
|
||||||
$checkbox = $($input.data('typetoggle'));
|
|
||||||
|
|
||||||
// Create clone
|
|
||||||
var $clone = cloneElement($input);
|
|
||||||
$clone.insertAfter($input);
|
|
||||||
|
|
||||||
// Set callback arguments
|
|
||||||
if(callback.fn){
|
|
||||||
callback.args.input = $input;
|
|
||||||
callback.args.checkbox = $checkbox;
|
|
||||||
callback.args.clone = $clone;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$checkbox.bind('click', function() {
|
|
||||||
setState( $checkbox, $input, $clone );
|
|
||||||
});
|
|
||||||
|
|
||||||
$input.bind('keyup', function() {
|
|
||||||
update( $input, $clone )
|
|
||||||
});
|
|
||||||
|
|
||||||
$clone.bind('keyup', function(){
|
|
||||||
update( $clone, $input );
|
|
||||||
|
|
||||||
// Added for JQuery Validation compatibility
|
|
||||||
// This will trigger validation if it's ON for keyup event
|
|
||||||
$input.trigger('keyup');
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// https://code.google.com/p/showpassword/issues/detail?id=1&thanks=1&ts=1399477719
|
|
||||||
$clone.bind('change', function() {
|
|
||||||
update( $clone , $input)
|
|
||||||
});
|
|
||||||
|
|
||||||
// Added for JQuery Validation compatibility
|
|
||||||
// This will trigger validation if it's ON for blur event
|
|
||||||
$clone.bind('blur', function() { $input.trigger('focusout'); });
|
|
||||||
|
|
||||||
setState( $checkbox, $input, $clone );
|
|
||||||
|
|
||||||
if( callback.fn ){
|
|
||||||
callback.fn( callback.args );
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
})(jQuery);
|
|
Loading…
Reference in New Issue
Block a user