Occi Skrevet 13. januar 2011 Del Skrevet 13. januar 2011 Hei Jeg prøver å lage en form som går tilbake til standard value når den mister fokus (onblur) hvis man IKKE har skrevet noe. Hvordan gjør jeg dette? For å illustrere et eksempel: søkfeltet på forsiden til hardware.no: - Om du trykker på den, og trykker et annet sted uten å skrive, så kommer default value. - Men om du skriver noe og trykker et annet sted mister den ikke teksten, noe mine form's gjør med koden under <input onfocus="this.value=''" onblur="this.value='Fahrenheit..'" type="text" name="fahr" value="Fahrenheit.."/> Lenke til kommentar
Runar Skrevet 13. januar 2011 Del Skrevet 13. januar 2011 Bruk et av de mange etablerte JavaScript-bibiotekene, f.eks. jQuery. Her er en kodesnutt jeg har brukt selv, med akkurat det resultatet du er ute etter: $('input#id').each( function() { value = 'Lorem ipsum dolor sit amet'; if( $(this).val().length < 1 ) { $(this).val(value).attr('title', value).toggleClass('blur').focus( function() { if( $(this).val() == $(this).attr('title') ) { $(this).val('').toggleClass('blur'); } }).blur( function() { if( $(this).val() == '' || $(this).val() == ' ' ) { $(this).val($(this).attr('title')).toggleClass('blur'); } }); } }); 1 Lenke til kommentar
Occi Skrevet 13. januar 2011 Forfatter Del Skrevet 13. januar 2011 (endret) Takk skal du ha, den skal jeg prøve :-) Edit: Viste seg å ikke være så lett allikevel. Burde ha kikket litt mer på koden du skrev opp før jeg postet hehe :-) Jeg har nemlig en side med mange forms, og har derfor satt opp en php-funksjon for dette i en egen fil og include't den. Denne har etterhvert blitt ganske kompleks, eller bare kaotisk etter hva du syns selv. Avhengig av $fDouble så blir det én eller to input-tekstbokser. Her er form-funksjonen: function form($fName, $fValue, $fOpp, $fDouble=0, $fName2=0, $fValue2=0) { $double = ""; if($fDouble) $double = '<input onfocus="this.value='."''".'" type="text" name='."$fName2".' value='."$fValue2".'/>'; echo ' <form action="scripts/results.php" method="post"> <input onfocus="this.value='."''".'" type="text" name='."$fName".' value='."$fValue".'/>'. $double. '<input type="submit" name='."$fOpp".' value="ok"/> </form>'; } Det er som du ser veldig mye " og ', men dette er for å få riktig output når den blir included med parametre nemlig. Har du noen tips til hvordan jeg best kan løse dette? Er i seg selv ikke noe ekstremt viktig at funksjonen er i en ekstern php-fil, var mest for å prøve. Og et lite spm. til deg siden du er moderator: Får man varsel om noen har endret innlegget sitt i en tråd? Evt. blir den bumpet på trådoversikten? Beklager off topic. Endret 13. januar 2011 av Occi Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå