Ergebnis 1 bis 9 von 9

Thema: Textfelder mit eigenem Javascrip

  1. #1
    elChupete
    Gast

    Standard Textfelder mit eigenem Javascrip

    Moin,

    ich möchte im Formulargenerator einem Feld vom Typ Text den folgenden Codeschnipsel zuweisen. Geht das irgendwie?


    onfocus="this.addClass('gotfocus')" onblur="this.removeClass('gotfocus')"

    Danke
    Stefan

  2. #2
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Du kannst jedem Feld eine eigene CSS-Klasse geben.

    1. Gib deinem Feld die CSS-Klasse "hoppla"
    2. Leg ein neues Template moo_hoppla.tpl (oder .html5 oder .xhtml) an
    3. Binde das Template in dein Seitenlayout ein
    4. Schreib das da dort rein:

    Code:
    <script>
    $$('.hoppla').addEvent('focus',function(e){this.addClass('gotfocus');}).addEvent('blur',function(e){this.removeClass('gotfocus');});
    </script>
    So ungefähr
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  3. #3
    elChupete
    Gast

    Standard

    Danke,

    hat mit dem template zwar nicht funktioniert, aber als javascript direkt im Seitenlayout funktionierts.

    Wie muss das script aussehen, wenn ich das Feld mit dem defaulttext "hoppla" füllen möchte?

    Wenn bei onfocus "Hoopla" drinsteht, feld leer machen und gotfocus setzen. bei onblur wenn feld leer, dann wieder "hoppla setzen und onblur entfernen.

    danke schonmal

  4. #4
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Könntest Du dieses Formularfeld nicht auch über den Elementtyp "HTML" erzeugen und dort direkt diese Attribute reinschreiben?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  5. #5
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Zitat Zitat von elChupete Beitrag anzeigen
    Danke,

    hat mit dem template zwar nicht funktioniert, aber als javascript direkt im Seitenlayout funktionierts.

    Wie muss das script aussehen, wenn ich das Feld mit dem defaulttext "hoppla" füllen möchte?

    Wenn bei onfocus "Hoopla" drinsteht, feld leer machen und gotfocus setzen. bei onblur wenn feld leer, dann wieder "hoppla setzen und onblur entfernen.

    danke schonmal
    Dann nimm doch einfach die Extension cleardefault

  6. #6
    elChupete
    Gast

    Standard Vielen Dank an alle die geholfen haben

    Die Extension cleardefault habe ich probiert. Die macht aber leider keinen Restore des default Textes, wenn das Eingabefeld mit leerem Inhalt verlassen wird.

    Die backbone_it Scripts moo-form machen zwar den clear und den restore, aber erlauben keine Farbanpassungen.

    Ich habe jetzt selber ein Script erstellt und wie von Toflar erklärt über ein eigenes template erfolgreich einbinden können.

    Für alle die es interessiert

    Code:
    <script>
    $$('.focus').addEvents({
    	'focus': function(e){
    		if (this.value.contains('Suche')) this.value = '';
    		this.setStyle('color', '#26264C');
    	},
    	'blur': function(e){
    		if (this.value == '') {
    			this.value = 'Suche...';
    			this.setStyle('color', '#AAAAAA');
    		}
    	}
    });
    </script>
    Im Formular noch initial mit "Suche..." füllen und die CSS Klasse "focus" zuweisen und per CSS initial die Farbe #AAAAAA zuweisen.

    Nochmal vielen Dank
    Stefan

    p.s. und das hatte den netten Nebeneffekt, dass ich ein wenig Javascrip bzw. Mootoolsscript gelernt habe.

  7. #7
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Doch. cleardefault macht einen erfolgreichen Restore. Hab ich in unzähligen Projekten eingesetzt. Und die Farbveränderungen hättest du bei cleardefault mit der Klassenänderung und ein wenig CSS erreichen können.

  8. #8
    elChupete
    Gast

    Standard

    Zitat Zitat von andreasisaak Beitrag anzeigen
    Doch. cleardefault macht einen erfolgreichen Restore. Hab ich in unzähligen Projekten eingesetzt. Und die Farbveränderungen hättest du bei cleardefault mit der Klassenänderung und ein wenig CSS erreichen können.
    Ahh OK dann habe ich da was falsch gemacht. Naja egal auf jedenfall habe ich was gelernt

  9. #9
    Contao-Nutzer
    Registriert seit
    19.04.2011.
    Beiträge
    32

    Standard

    cleardefault macht genau das was ich gerade auch gesucht habe. :-)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •