strangest thing though - to get around faults like these. i coded my own
jquery select box...as its made of div tags you can;t give it a name
attribute. but you can still send the value through ajax or a query string.

On Tue, Oct 20, 2009 at 7:49 PM, waseem sabjee <waseemsab...@gmail.com>wrote:

> I am experimenting around with other ways.the bad part about this is the a
> browser will not allow you to change the type attribute - u suppose thats
> for security purposes.
> but ye - may be an absolutely positioned element over the text box can help
> if you can get the z-indexing right to support IE.
>
>
> On Tue, Oct 20, 2009 at 6:58 PM, Marco Barbosa 
> <marco.barbos...@gmail.com>wrote:
>
>>
>> You were right Waseem.
>> Specially after Bi Jing confirmed. I think that is the best way.
>>
>> If it doesn't work I wil go for background like Rupak suggested.
>>
>> Thank you all for your help!
>>
>> On Oct 20, 1:55 pm, rupak mandal <rupakn...@gmail.com> wrote:
>> > either you ca maintain two input element (like facebook), or make an
>> image
>> > of "password"and  set the image to textbox background, on focus or click
>> > just remove the background-image.
>> >
>> >
>> >
>> > On Tue, Oct 20, 2009 at 2:09 PM, Bi Jing <beco...@gmail.com> wrote:
>> > > For now, our project use two input elements to implement this, we
>> still can
>> > > not get easier way.
>> > > Actually, not only password, but also text element, you need two
>> inputs,
>> > > one hidden one shown.
>> >
>> > > Becoder.
>> >
>> > > On Tue, Oct 20, 2009 at 4:08 PM, waseem sabjee <
>> waseemsab...@gmail.com>wrote:
>> >
>> > >> ok,why not absolutely position some text on a password box and hide
>> that
>> > >> text on password box focus ?
>> >
>> > >> On Tue, Oct 20, 2009 at 10:05 AM, Marco Barbosa <
>> > >> marco.barbos...@gmail.com> wrote:
>> >
>> > >>> Hmmm. This is more complicated than I thought.
>> >
>> > >>> waseem, having 2 input fields doesn't seem correct. Thought it might
>> > >>> work I will have to pass that solution for this specific site.
>> >
>> > >>> Liam, Your code didn't work either, I don't know why.
>> >
>> > >>> Jörn, this watermark plugin is interesting but I don't want to use
>> > >>> jquery ui on this site.
>> > >>> That's because I'm already using that cleanField function and it
>> would
>> > >>> be redundant to have a plugin just for the login form.
>> > >>> Also I gave it a try and the label didn't stay inside the input. So
>> If
>> > >>> i have to manually position it there, then it's another reason I
>> will
>> > >>> pass this solution as well.
>> >
>> > >>> I though a simple jquery would do this.
>> > >>> I think I will leave it masked and use a tooltip or something.
>> >
>> > >>> Thanks guys!
>> >
>> > >>> On Oct 19, 5:54 pm, Jörn Zaefferer <joern.zaeffe...@googlemail.com>
>> > >>> wrote:
>> > >>> > Instead of replacing the input, display a label above it.
>> Seehttp://
>> > >>> wiki.jqueryui.com/Watermark
>> >
>> > >>> > Jörn
>> >
>> > >>> > On Mon, Oct 19, 2009 at 4:17 PM, Liam Potter <
>> radioactiv...@gmail.com
>> > >>> >wrote:
>> >
>> > >>> > > Here is how I do it. Just markup the form like normal (I use a
>> > >>> definition
>> > >>> > > list to lay out my forms)
>> >
>> > >>> > >   $("input:password").each(function(){
>> > >>> > >       var $currentPass = $(this)
>> > >>> > >       $currentPass.css({opacity:0});
>> > >>> > >             $currentPass.before('<input type="text"
>> value="Password"
>> > >>> > > class="removeit" style="position:absolute;z-index:10;" />');
>> > >>> > >             var $visiblePassword = $(".removeit");
>> > >>> > >             $visiblePassword.focus(function () {
>> > >>> > >           $(this).css({opacity:0});
>> > >>> > >           $currentPass.focus().css({opacity:1});
>> > >>> > >       });
>> > >>> > >                 $currentPass.blur( function () {
>> > >>> > >           if ( $currentPass.attr("value") == "" ){
>> > >>> > >               $currentPass.css({opacity:0});
>> >
>> > >>> $visiblePassword.css({opacity:1}).attr("value","Password");
>> > >>> > >           }
>> > >>> > >       });
>> > >>> > >   });
>> >
>> > >>> > > waseem sabjee wrote:
>> >
>> > >>> > >> ah yes i forgot.
>> >
>> > >>> > >> you would get access denied when tried to change an input type
>> > >>> property
>> >
>> > >>> > >> the best way is to have two input types and just hide one and
>> show
>> > >>> the
>> > >>> > >> other
>> >
>> > >>> > >> but i have a solution for you
>> > >>> > >> the html
>> >
>> > >>> > >>        <!-- The following html of two input types - we gonna
>> switch
>> > >>> > >> between them-->
>> > >>> > >>        <input type="text" class="textinput" value="Passowrd" />
>> > >>> > >>        <input type="password" class="passinput" value="" />
>> >
>> > >>> > >> the css
>> >
>> > >>> > >>        <style type="text/css">
>> > >>> > >>            /*    first we need to hide the password input*/
>> > >>> > >>            .passinput {
>> > >>> > >>                display:none;
>> > >>> > >>            }
>> > >>> > >>        </style>
>> >
>> > >>> > >> the js
>> >
>> > >>> > >>        <script type="text/javascript">
>> > >>> > >>            $(function() {
>> > >>> > >>                // declare your input types
>> > >>> > >>                var textinput = $(".textinput");
>> > >>> > >>                var passinput = $(".passinput");
>> > >>> > >>                // on text input focus - hide text input and
>> show and
>> > >>> focus
>> > >>> > >> on password input
>> > >>> > >>                textinput.focus() {
>> > >>> > >>                    textinput.blur();
>> > >>> > >>                    textinput.hide();
>> > >>> > >>                    passinput.show();
>> > >>> > >>                    passinput.focus();
>> > >>> > >>                });
>> > >>> > >>                // on password input blud hide password input
>> and
>> > >>> show and
>> > >>> > >> focus on text input
>> > >>> > >>                passinput.blur(function() {
>> > >>> > >>                    passinput.blur();
>> > >>> > >>                    passinput.hide();
>> > >>> > >>                    textinput.show();
>> > >>> > >>                    textinput.focus();
>> > >>> > >>                });
>> > >>> > >>            });
>> > >>> > >>        </script>
>> >
>> > >>> > >> On Mon, Oct 19, 2009 at 2:51 PM, Marco Barbosa <
>> > >>> marco.barbos...@gmail.com<mailto:
>> > >>> > >> marco.barbos...@gmail.com>> wrote:
>> >
>> > >>> > >>    Hi waseem!
>> >
>> > >>> > >>    Thanks for your reply.
>> >
>> > >>> > >>    Something's wrong with this line:
>> > >>> > >>    $("#password").attr({type:'text'});
>> >
>> > >>> > >>    I tried changing to:
>> > >>> > >>    $("#password").attr('type','text'});
>> >
>> > >>> > >>    but still no go.
>> > >>> > >>    I have to comment out to get the other JS stuff on the site
>> > >>> working.
>> >
>> > >>> > >>    The rest of the code seems Ok. What could it be?
>> >
>> > >>> > >>    I like your solution, pretty simple :)
>> >
>> > >>> > >>    I was wondering if we could put this inside the cleanField
>> > >>> function
>> > >>> > >>    but I guess it's not necessary.
>> >
>> > >>> > >>    ~Marco
>> >
>> > >>> > >>    On Oct 19, 2:32 pm, waseem sabjee <waseemsab...@gmail.com
>> > >>> > >>    <mailto:waseemsab...@gmail.com>> wrote:
>> > >>> > >>    > // set the initial type to text
>> > >>> > >>    > $(".mypasswordfield").attr({
>> > >>> > >>    >   type:'text'
>> >
>> > >>> > >>    > });
>> >
>> > >>> > >>    > // on user focus - change type to password
>> > >>> > >>    > $(".mypasswordfield").focus(function() {
>> > >>> > >>    >  $(".mypasswordfield").attr({
>> > >>> > >>    >    type:'password'
>> > >>> > >>    >  });
>> >
>> > >>> > >>    > });
>> >
>> > >>> > >>    > // on user blur - change type to back to text
>> > >>> > >>    > $(".mypasswordfield").blur(function() {
>> > >>> > >>    >  $(".mypasswordfield").attr({
>> > >>> > >>    >    type:'text'
>> > >>> > >>    >  });
>> >
>> > >>> > >>    > });
>> >
>> > >>> > >>    > since text is an attribute we can change it.
>> > >>> > >>    > all im doing is changing the type between password and
>> text on
>> > >>> > >>    click and on
>> > >>> > >>    > blur
>> > >>> > >>    > let me know if this worked for you :)
>> >
>> > >>> > >>    > On Mon, Oct 19, 2009 at 11:21 AM, Marco Barbosa
>> > >>> > >>    > <marco.barbos...@gmail.com <mailto:
>> marco.barbos...@gmail.com
>> > >>> >>wrote:
>> >
>> > >>> > >>    > > Hi!
>> >
>> > >>> > >>    > > I'm trying to achieve something like the Facebook first
>> page
>> > >>> (when
>> > >>> > >>    > > you're not logged in).
>> >
>> > >>> > >>    > > I'm using this simple function/plugin to clean the
>> fields
>> > >>> once you
>> > >>> > >>    > > click them:
>> > >>> > >>    > > $.fn.cleanField = function() {
>> > >>> > >>    > >        return this.focus(function() {
>> > >>> > >>    > >                if( this.value == this.defaultValue ) {
>> > >>> > >>    > >                        this.value = "";
>> > >>> > >>    > >                }
>> > >>> > >>    > >        }).blur(function() {
>> > >>> > >>    > >                if( !this.value.length ) {
>> > >>> > >>    > >                        this.value = this.defaultValue;
>> > >>> > >>    > >                }
>> > >>> > >>    > >        });
>> > >>> > >>    > > };
>> > >>> > >>    > > // clean the fields
>> > >>> > >>    > > $("#login").cleanField();
>> > >>> > >>    > > $("#password").cleanField();
>> >
>> > >>> > >>    > > So If I click Login or Password, it will clean and the
>> user
>> > >>> > >>    can type
>> > >>> > >>    > > the new value.
>> > >>> > >>    > > It works good but there's a little usability problem
>> here.
>> >
>> > >>> > >>    > > I want to display the Password field like: "Your
>> password
>> > >>> here"
>> > >>> > >>    > > instead of "***********"
>> > >>> > >>    > > But when the user types his/her password, it has to go
>> back
>> > >>> to
>> > >>> > >>    "****"
>> >
>> > >>> > >>    > > So Initially it should be: "Your login" "Your Password"
>> > >>> > >>    > > And when the user clicks and starts typing it goes: "My
>> > >>> login"
>> > >>> > >>    > > "*******"
>> >
>> > >>> > >>    > > It's just the password field that masks the initial
>> value by
>> > >>> > >>    default.
>> >
>> > >>> > >>    > > If you check Facebook they managed to do that somehow.
>> >
>> > >>> > >>    > > Any ideas of how can I achieve this?
>>
>
>

Reply via email to