Gå til innhold

<form> blur ved tom tekstboks


Anbefalte innlegg

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
Videoannonse
Annonse

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');
		}
	});
}
});

  • Liker 1
Lenke til kommentar

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 av Occi
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...