<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
> <channel><title>Kommentare zu: jQuery myPass &#8211; password hiding iPhone-Style</title> <atom:link href="http://www.mysrc.de/allgemein/jquery-mypass-password-hiding-iphone-style/feed/" rel="self" type="application/rss+xml" /><link>http://www.mysrc.de/allgemein/jquery-mypass-password-hiding-iphone-style/</link> <description>- jQuery, MooTools, HTML5, AJAX</description> <lastBuildDate>Thu, 19 Jan 2012 19:53:40 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0.1</generator> <item><title>Von: Cialis</title><link>http://www.mysrc.de/allgemein/jquery-mypass-password-hiding-iphone-style/comment-page-1/#comment-1774</link> <dc:creator>Cialis</dc:creator> <pubDate>Wed, 10 Mar 2010 09:03:03 +0000</pubDate> <guid
isPermaLink="false">http://www.mysrc.de/?p=765#comment-1774</guid> <description>KBNjIG Excellent article, I will take note. Many thanks for the story!</description> <content:encoded><![CDATA[<p>KBNjIG Excellent article, I will take note. Many thanks for the story!</p> ]]></content:encoded> </item> <item><title>Von: ahayek</title><link>http://www.mysrc.de/allgemein/jquery-mypass-password-hiding-iphone-style/comment-page-1/#comment-1215</link> <dc:creator>ahayek</dc:creator> <pubDate>Thu, 17 Dec 2009 15:36:10 +0000</pubDate> <guid
isPermaLink="false">http://www.mysrc.de/?p=765#comment-1215</guid> <description>dont forget autocomplete=&quot;off&quot; for all navigators !</description> <content:encoded><![CDATA[<p>dont forget autocomplete=&#8221;off&#8221; for all navigators !</p> ]]></content:encoded> </item> <item><title>Von: ahayek</title><link>http://www.mysrc.de/allgemein/jquery-mypass-password-hiding-iphone-style/comment-page-1/#comment-1214</link> <dc:creator>ahayek</dc:creator> <pubDate>Thu, 17 Dec 2009 14:58:08 +0000</pubDate> <guid
isPermaLink="false">http://www.mysrc.de/?p=765#comment-1214</guid> <description>Hello,
I added defaultPassword support if someone wants to initialize the password field with a default value.
use :
JS code
(function(){
$j.fn.myPass = function(options) {
var defaults = {
charReplace : &#039;%u25CF&#039;,
charDuration : 1000
}
var opts = $j.extend(defaults, options);
var	aktiv = null;
$j(this).each(function(){
tempField = $j(this).attr(&#039;name&#039;);
$j(this).attr(&#039;name&#039;,&#039;tmp_&#039;+tempField);
var defaultPassword = $j(this).val();
var hiddenPass = &quot;&quot;;
if(defaultPassword != &#039;&#039;) {
for (i=0; i&lt;=defaultPassword.length-1; ++i){
hiddenPass = hiddenPass + unescape(opts.charReplace);
}
}
$j(this).val(hiddenPass);
$j(this).parent().append(&#039;&#039;);
});
$j(this).bind(&quot;keypress&quot;, function(evt) {
clearTimeout(aktiv);
var hiddenPass = &#039;&#039;;
var currentValue = $j(this).val();
if(currentValue.length &gt; 0){
if(evt.which == 8){
deleteLast(this);
}else{
currentValue = currentValue + $j(this).val().slice($j(this).val().length - 1);
for (i=0; i&lt;=$j(this).val().length-1; ++i){
hiddenPass = hiddenPass + unescape(opts.charReplace);
}
lastLetter = $j(this).val().charAt($j(this).val().length-1);
if(lastLetter != unescape(opts.charReplace)){
saveString(lastLetter,this);
}
$j(this).val(hiddenPass);
aktiv = setTimeout(&quot;hideAll(&#039;&quot; + $j(this).attr(&#039;name&#039;) + &quot;&#039;)&quot;, opts.charDuration);
}
}else{
currentValue = $j(this).val();
var tempField = $j(this).attr(&#039;name&#039;);
var hiddenID = tempField.substr(tempField.indexOf(&#039;_&#039;)+1);
$j(&#039;#&#039;+hiddenID).val(&#039;&#039;);
}
});
hideAll = function(el){
lastLetter = $j(&#039;input[name=&#039;+el+&#039;]&#039;).val().charAt($j(&#039;input[name=&#039;+el+&#039;]&#039;).val().length-1);
var hiddenID = el.substr(el.indexOf(&#039;_&#039;)+1);
var tmpstr = $j(&#039;#&#039;+hiddenID).val();
$j(&#039;#&#039;+hiddenID).val(tmpstr + lastLetter);
var hiddenPass = &#039;&#039;;
for (i=0; i&lt;=$j(&#039;input[name=&#039;+el+&#039;]&#039;).val().length-1; ++i){
hiddenPass = hiddenPass + unescape(opts.charReplace);
}
$j(&#039;input[name=&#039;+el+&#039;]&#039;).val(hiddenPass);
}
saveString = function(str,el){
var tempField = $j(el).attr(&#039;name&#039;);
var hiddenID = tempField.substr(tempField.indexOf(&#039;_&#039;)+1);
var tmpstr = $j(&#039;#&#039;+hiddenID).val();
$j(&#039;#&#039;+hiddenID).val(tmpstr + str);
}
deleteLast = function(el){
var tempField = $j(el).attr(&#039;name&#039;);
var hiddenID = tempField.substr(tempField.indexOf(&#039;_&#039;)+1);
var tmpstr = $j(&#039;#&#039;+hiddenID).val();
var length = $j(&#039;#&#039;+hiddenID).val().length;
$j(&#039;#&#039;+hiddenID).val(tmpstr.substring(0,length-1));
}
};
})();
Enjoy !!</description> <content:encoded><![CDATA[<p>Hello,</p><p>I added defaultPassword support if someone wants to initialize the password field with a default value.<br
/> use :</p><p>JS code</p><p>(function(){<br
/> $j.fn.myPass = function(options) {</p><p> var defaults = {<br
/> charReplace : &#8216;%u25CF&#8217;,<br
/> charDuration : 1000<br
/> }</p><p> var opts = $j.extend(defaults, options);<br
/> var	aktiv = null;</p><p> $j(this).each(function(){<br
/> tempField = $j(this).attr(&#8216;name&#8217;);<br
/> $j(this).attr(&#8216;name&#8217;,'tmp_&#8217;+tempField);<br
/> var defaultPassword = $j(this).val();<br
/> var hiddenPass = &#8220;&#8221;;<br
/> if(defaultPassword != &#8221;) {<br
/> for (i=0; i&lt;=defaultPassword.length-1; ++i){<br
/> hiddenPass = hiddenPass + unescape(opts.charReplace);<br
/> }<br
/> }<br
/> $j(this).val(hiddenPass);<br
/> $j(this).parent().append(&#039;&#8217;);<br
/> });</p><p> $j(this).bind(&#8220;keypress&#8221;, function(evt) {<br
/> clearTimeout(aktiv);<br
/> var hiddenPass = &#8221;;<br
/> var currentValue = $j(this).val();<br
/> if(currentValue.length &gt; 0){<br
/> if(evt.which == 8){<br
/> deleteLast(this);<br
/> }else{<br
/> currentValue = currentValue + $j(this).val().slice($j(this).val().length &#8211; 1);<br
/> for (i=0; i&lt;=$j(this).val().length-1; ++i){<br
/> hiddenPass = hiddenPass + unescape(opts.charReplace);<br
/> }<br
/> lastLetter = $j(this).val().charAt($j(this).val().length-1);<br
/> if(lastLetter != unescape(opts.charReplace)){<br
/> saveString(lastLetter,this);<br
/> }<br
/> $j(this).val(hiddenPass);<br
/> aktiv = setTimeout(&quot;hideAll(&#039;&quot; + $j(this).attr(&#039;name&#039;) + &quot;&#039;)&quot;, opts.charDuration);<br
/> }<br
/> }else{<br
/> currentValue = $j(this).val();<br
/> var tempField = $j(this).attr(&#039;name&#039;);<br
/> var hiddenID = tempField.substr(tempField.indexOf(&#039;_&#039;)+1);<br
/> $j(&#039;#&#039;+hiddenID).val(&#039;&#039;);<br
/> }</p><p> });</p><p> hideAll = function(el){<br
/> lastLetter = $j(&#039;input[name=&#039;+el+&#039;]&#039;).val().charAt($j(&#039;input[name=&#039;+el+&#039;]&#039;).val().length-1);<br
/> var hiddenID = el.substr(el.indexOf(&#039;_&#039;)+1);<br
/> var tmpstr = $j(&#039;#&#039;+hiddenID).val();<br
/> $j(&#039;#&#039;+hiddenID).val(tmpstr + lastLetter);</p><p> var hiddenPass = &#039;&#039;;<br
/> for (i=0; i&lt;=$j(&#039;input[name=&#039;+el+&#039;]&#039;).val().length-1; ++i){<br
/> hiddenPass = hiddenPass + unescape(opts.charReplace);<br
/> }</p><p> $j(&#039;input[name=&#039;+el+&#039;]&#039;).val(hiddenPass);<br
/> }</p><p> saveString = function(str,el){<br
/> var tempField = $j(el).attr(&#039;name&#039;);<br
/> var hiddenID = tempField.substr(tempField.indexOf(&#039;_&#039;)+1);</p><p> var tmpstr = $j(&#039;#&#039;+hiddenID).val();<br
/> $j(&#039;#&#039;+hiddenID).val(tmpstr + str);<br
/> }</p><p> deleteLast = function(el){<br
/> var tempField = $j(el).attr(&#039;name&#039;);<br
/> var hiddenID = tempField.substr(tempField.indexOf(&#039;_&#039;)+1);<br
/> var tmpstr = $j(&#039;#&#039;+hiddenID).val();<br
/> var length = $j(&#039;#&#039;+hiddenID).val().length;<br
/> $j(&#039;#&#039;+hiddenID).val(tmpstr.substring(0,length-1));<br
/> }</p><p> };</p><p>})();</p><p>Enjoy !!</p> ]]></content:encoded> </item> <item><title>Von: jQuery: Input[type=password] mit Input[type=text] austauschen</title><link>http://www.mysrc.de/allgemein/jquery-mypass-password-hiding-iphone-style/comment-page-1/#comment-818</link> <dc:creator>jQuery: Input[type=password] mit Input[type=text] austauschen</dc:creator> <pubDate>Tue, 17 Nov 2009 18:46:53 +0000</pubDate> <guid
isPermaLink="false">http://www.mysrc.de/?p=765#comment-818</guid> <description>[...] nicht so trivial wie es sich anhört. Was mit ein Grund sein mag, warum ich viel schönes gesehen habe, bei dem aber die zentrale Grundfrage nur halbherzig gelöst wurde. jQuery bietet sich ja immer zum [...]</description> <content:encoded><![CDATA[<p>[...] nicht so trivial wie es sich anhört. Was mit ein Grund sein mag, warum ich viel schönes gesehen habe, bei dem aber die zentrale Grundfrage nur halbherzig gelöst wurde. jQuery bietet sich ja immer zum [...]</p> ]]></content:encoded> </item> <item><title>Von: NiKo</title><link>http://www.mysrc.de/allgemein/jquery-mypass-password-hiding-iphone-style/comment-page-1/#comment-75</link> <dc:creator>NiKo</dc:creator> <pubDate>Sat, 04 Jul 2009 15:26:34 +0000</pubDate> <guid
isPermaLink="false">http://www.mysrc.de/?p=765#comment-75</guid> <description>Very nice, but may I suggest you that the input degrades to a input[type=password] rather than a text one?
You can clone an input[type=password] to be able to retrieve its value, something like that: http://fr.pastebin.ca/1474004</description> <content:encoded><![CDATA[<p>Very nice, but may I suggest you that the input degrades to a input[type=password] rather than a text one?</p><p>You can clone an input[type=password] to be able to retrieve its value, something like that: <a
href="http://fr.pastebin.ca/1474004" rel="nofollow">http://fr.pastebin.ca/1474004</a></p> ]]></content:encoded> </item> </channel> </rss>
