onclick value en anders weer standaard value?

Status
Niet open voor verdere reacties.

wzshop

Gebruiker
Lid geworden
21 dec 2004
Berichten
188
dag mensen,

Ik heb een heel simpele formulier javascript check. Onclick verdwijnt de value maar nu wil ik dat als men niets invult en weer buiten het formulier klikt dat de standaard value weer tevoorschijn komt.

Hoe kan ik dat doen?
Ik heb nu:
Code:
function checkform ( form )
{
  // see http://www.thesitewizard.com/archive/validation.shtml
  // for an explanation of this script and how to use it on your
  // own website

  // ** START **
  if (form.pc.value == "") {
    alert( "Vul uw postcode in." );
    form.pc.focus();
    return false ;
  }
  if (form.pc.value == "Uw postcode") {
    alert( "Vul uw postcode in." );
    form.pc.focus();
    return false ;
  }
  // ** END **
  return true ;
}
 
[JS] if (form.pc.value == "") {
alert( "Vul uw postcode in." );
form.pc.focus();
return false ;
}
[/JS]
er staat: als de waarde van (form->pc) gelijk is aan een lege string dan..... Nu, je wilt dat er een waarde in komt. Ofwel:[JS]form.pc.value = "string"[/JS]:thumb:
 
hartelijk dank voor je antwoord!

Sorry hoor maar javascript is niet echt mijn ding. Waar zet ik dat regeltje dan precies neer:o

bedankt!
 
Nou... zoiets:[JS]function checkform ( form )
{
// see http://www.thesitewizard.com/archive/validation.shtml
// for an explanation of this script and how to use it on your
// own website

// ** START **
if (form.pc.value == "") {

//hiero:
form.pc.value = "DeStandaardString";
//einde hiero

alert( "Vul uw postcode in." );
form.pc.focus();
return false ;
}
if (form.pc.value == "Uw postcode") {
alert( "Vul uw postcode in." );
form.pc.focus();
return false ;
}
// ** END **
return true ;
}[/JS]
 
HTML:
<input type="text" name="foo" value="Standaardtekst" onfocus="this.value=(this.value==this.defaultValue)?'':this.value" onblur="this.value=(this.value=='')?this.defaultValue:this.value"

Moet je alleen Standaardtekst vervangen door de tekst die je er standaard in wilt hebben...
 
bedankt! werkt wel gewoon in html maar hoe zet ik dat in een .js bestand?

enorm bedankt
 
Dat hoeft niet, want dit is gewoon javascript in de html 'ingebouwd' zegmaar.
 
weet ik maar heb het liever in een js bestandje omdat ik het op meerder pagina;s gebruik en anders moet ik al die paginas aanpassen.

alvast bedankt.
 
Je zult het sowieso in alle bestanden moeten aanpassen...

Hoewel, ik bedenk me net iets, weet alleen niet of het werkt.

[JS]
var el = document.getElementsByTagName( 'input' );
for ( var i in el ) {

if ( el.type == 'text' ) {

el.onfocus = function(){
if ( this.value == this.defaultValue ) {
this.value = '';
}
}

el.onblur = function(){
if ( this.value == '' ) {
this.value = this.defaultValue;
}
}

}

}
[/JS]

Voor document.getElementsByTagName moet je eigenlijk op internet even een alternatief vinden (er is geen goed native alternatief), aangezien gEBTN niet goed schijnt te werken in IE.

Verder kun je voor de functies beter addEventHandler gebruiken (ik vertrouw erop dat Vegras mij op dit punt wel even komt verbeteren :thumb:;)) maar dit is even voor simplicity's sake.

Verder heb ik geen idee of het werkt.

[EDIT]
Thx Vegras, ik heb het aangepast.
[/EDIT]
 
Laatst bewerkt:
kleine correctie: het moet document.getElementsByTagName zijn (een s ertussen) :) Dan werkt het wel.
 
Ooh ja, ik bedoelde getElementsByClassName, die werkt geloof ik niet in IE.
 
Ik heb, voor de liefhebber, toevallig ook nog een placeholder-scriptje gemaakt - zie hier. Het is in principe hetzelfde, maar dan anders ;)
 
Netjes! :D

Een placeholder attribuut is wel weer een GROTE verbetering. HTML5, kom d'r maar in!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan