kostenloser Webspace werbefrei: lima-city


Text in box verschwindet bei klick

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    ho leute ;)
    ihr kennt diesen JS effekt sicher...

    es gibt ein lgin und PW feld...
    und drinnen zu sehen ist \"Nick\" und \"*******\"
    und sobald man reinklickt ist das feld leer...
    dh. man klickt bei login, (jetzt steht nicht mehr \"nick\" drinnen) und gibt seinen nickname ein...
    und dann klickt man auf PW (jetzt verschwindet auch das \"******\" im PW feld...

    sowas ähnliches bräuchte ich für ein textfeld...

    gibt es da einen vorgefertigten html code oder braucht man JS?
    wie funktioniert das?

    danke schon einmal im vorraus ;)
    Sincer
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. p***********d

    Das funktioniert per JS. Den Skript hab ich noch irgendwo, ich kram ihn eben raus Moment...

    Edit: so hier isser
    <input name=\"blubb\" value=\"Vorgabetext\" onfocus=\"if(this.value == \'Vorgabetext\') this.value=\'\';\" onblur=\"if (this.value==\'\') this.value=\'Vorgabetext\';\">


    Beitrag geändert: 19.3.2008 18:44:05 von pinguinfreund
  4. Du kannst den Wert in dem Textfeld einfach verändern:
    function clean_up()
      {
       if(document.form.Textbox.value == \'Hier Text eingeben\')
       {
        document.form.Textbox.value= \'\';
        document.form.Textbox.focus();
       }
      }

    Die Textbox musst du dann die ID oder den Namen \"Textbox\" geben und bei dem Event onclick die Funktion \"clean_up()\" aufrufen. Der voreingestellte Text muss \"Hier Text eingeben\" heißen, nur dann wird das Textfeld geleert, anderes Falls nicht. Das sorgt dafür, dass man auch außerhalb des Textfeldes irgendwas anklicken kann und nach einem erneuten Klick in das Feld der schon geschriebene Text nicht auch gelöscht wird.

    Beitrag geändert: 19.3.2008 18:46:22 von tct
  5. p***********d


    Die Textbox musst du dann die ID oder den Namen \"Textbox\" geben und bei dem Event onclick die Funktion \"clean_up()\" aufrufen.

    onfocus ist besser, da funktioniert es dann auch wenn man es z.B. per Tastatur \"ansteuert\".
  6. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    danke an euch beide ;)

    thx
    Sincer

    //EDIT:
    deinen code habe ich nicht zum laufen gebracht... tct :(
    kann es sein, dass in der zeile
    document.form.Textbox.focus();

    eine weiter function, die ich nicht habe aufgerufden wird?


    mit deinem code habe ich es geschafft pinguinfreund :)

    ein danke an euch beide für die super schnelle hilfe ;)

    Beitrag geändert: 19.3.2008 19:16:03 von sincer
  7. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    sry für den doppelpost, aber das problem hat sich noch nicht ganz behoben...

    ich wollte das ganze jetzt in einen php context einbauen...
    sprich diesen code hier:
    <textarea class=\'txt\' rows=\'7\' cols=40 name=\'absender_message\' value=\'.$_TEXT[\'KONTAKT_TEXT2\'].\' onfocus=\'if(this.value == \'.$_TEXT[\'KONTAKT_TEXT2\'].\') this.value=\'\';\' onblur=\'if (this.value==\'\') this.value=\'.$_TEXT[\'KONTAKT_TEXT2\'].\';\'  style=\'color:black; background-color:white;\'>\'.$_TEXT[\'KONTAKT_TEXT2\'].\'</textarea>\';

    und es funktioniert einfach nicht...

    kann mir vil wer sagen, woran das liegt?

    danke nochmal
    Sincer

    PS: ich weiß, das ist jetzt im JS und nicht im PHP forum, aber ich hoffe, dass man darüber hinweg sehen kann (oder es verschieben kann :/

    //EDIT:
    der fehler der dabei auftritt lautet:
    Parse error: syntax error, unexpected T_STRING, expecting \',\' or \';\' in /usr/export/www/vhosts/funnetwork/hosting/kingsmoker/contact.php on line 74

    (und das script befindet sich in zeile 74 ^^)

    Beitrag geändert: 19.3.2008 21:19:59 von sincer
  8. p***********d

    Ich weiß jetzt nicht, mit welchen Anführungszeichen du den String eingeleitet hast, und kann dir deshalb auch nicht den Fehler sagen, aber so sollte es funktionieren:
    echo \"<textarea class=\'txt\' rows=\'7\' 
    cols=40 name=\'absender_message\' value=\'\".$_TEXT[\'KONTAKT_TEXT2\'].\"\' onfocus=\'
    if(this.value == \'\".$_TEXT[\'KONTAKT_TEXT2\'].\"\') this.value=\'\';\' onblur=\'if (this.value==\'\') 
    this.value=\'\".$_TEXT[\'KONTAKT_TEXT2\'].\"\';\'  style=\'color:black; 
    background-color:white;\'>\'\".$_TEXT[\'KONTAKT_TEXT2\'].\"\'
    </textarea>\'\";


    Und wegen dem Code von tct: das \'form\' musst du durch den Namen des Formulars ersetzen denke ich.


    Beitrag geändert: 20.3.2008 12:03:12 von pinguinfreund
  9. bei mir geht auch alles aus den Eingabefeldern jedoch nur wenn ich eine javascript Meldung aufrufe wenn ich in php echo nehme passiert das nicht.
  10. p***********d

    So dieser Code hier ist getestet und er funktioniert.
    <?php
        $_TEXT[\'KONTAKT_TEXT2\'] = \"Klick mich\";
        echo \"<textarea class=\'txt\' rows=\'7\' cols=\'40\' name=\'absender_message\' value=\'\".$_TEXT[\'KONTAKT_TEXT2\'].\"\' onfocus=\'if(this.value == \\\"\".$_TEXT[\'KONTAKT_TEXT2\'].\"\\\") this.value=\\\"\\\";\' onblur=\'if (this.value == \\\"\\\") this.value=\\\"\".$_TEXT[\'KONTAKT_TEXT2\'].\"\\\";\'  style=\'color:black; background-color:white;\'>\".$_TEXT[\'KONTAKT_TEXT2\'].\"</textarea>\";
    ?>



    Beitrag geändert: 20.3.2008 12:03:41 von pinguinfreund


    Beitrag geändert: 20.3.2008 12:04:19 von pinguinfreund
  11. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    ho ;)

    vielen dank für deine bemühungen pinguinfreund :)

    nur leider funktioniert es noch immer nicht...
    bin schon total ratlos :(

    es kommt immer nur diese fehlermeldung:
    Parse error: syntax error, unexpected T_STRING, expecting \',\' or \';\' in /usr/export/www/vhosts/funnetwork/hosting/kingsmoker/contact.php on line 74

    und ich habe deinen code 1:1 (bis natürlich auf das <?php ?> (weil es ja schon in php ist *g*) und auf das $_TEXT[\'KONTAKT_TEXT2\'] = \"Klick mich\"; weil er das aus einer anderen datei ausliest...)

    hast du vil. noch eine idee, woran es liegen könnte?

    danke für deine hilfe :)
    Sincer
  12. p***********d

    Wie gesagt, bei mir läuft es einwandfrei (http://pinguinfreund.lima-city.de/test2.php).
    Kann ich mir nur damit erklären dass der Fehler eine Zeile drüber liegt.
    Poste mal den Code ein paar Zeilen drüber und drunter.
    Auch wenn PHP meint es liegt in Zeile 74,
    ist es oft so dass sich der \'wirkliche\' Fehler eine Zeile drüber befindet.


    Beitrag geändert: 20.3.2008 12:02:39 von pinguinfreund
  13. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    ho ;)
    zuerstmal danke für deine hilfe ;)


    das ganze ist in einem table eingebettet...
    das hier ist der ursrpüngliche source... (so funktiniert es - nur halt gibt es keinen effekt)
    <td width=\"314\" valign=\"top\">
    <p><font color=\"white\"><textarea class=\"txt\" rows=\"7\" cols=40 name=\"absender_message\">\'.$_TEXT[\'KONTAKT_TEXT2\'].\'</textarea></font><span style=\"font-size:9pt;\"><font color=\"black\"><br></font></span></p>
    </td>


    darüber ist tabelle, und darunter ist auch tabelle :P

    so, und nun setze ich deine zeile ein... (die ohne php ja super funktionert - bzw. ohne den restlichen php code XD)

    <td width=\"314\" valign=\"top\">
    <p><font color=\"white\"><textarea class=\'txt\' rows=\'7\' cols=\'40\' name=\'absender_message\' value=\'\".$_TEXT[\'KONTAKT_TEXT2\'].\"\' onfocus=\'if(this.value == \\\"\".$_TEXT[\'KONTAKT_TEXT2\'].\"\\\") this.value=\\\"\\\";\' onblur=\'if (this.value == \\\"\\\") this.value=\\\"\".$_TEXT[\'KONTAKT_TEXT2\'].\"\\\";\'  style=\'color:black; background-color:white;\'>\".$_TEXT[\'KONTAKT_TEXT2\'].\"</textarea></font><span style=\"font-size:9pt;\"><font color=\"black\"><br></font></span></p>
    </td>


    und das echo ist ganz oben mit einfachem apostroph eingeleitet...

    sprich...
    echo \'
    // dann kommt der ganze source...
    \';


    und dann funzt das ganze halt nicht mehr :/


    thx
    Sincer
  14. [...]
    Und wegen dem Code von tct: das \'form\' musst du durch den Namen des Formulars ersetzen denke ich.
    [...]

    Stimmt, da hab ich nicht dran gedacht, da alle meine Formulare \"form\" heißen. Alternativ kann man im JS statt form auch forms[0] bzw. forms[1] usw. verwenden. Je nach dem, wie viele Forulare auf der jeweiligen Seite sind. Oder man macht das ganze einfach über die ID mit document.getElementById(\"Textbox\").value=\'\';

    Aber das nur so nebenbei, das Thema ist ja eigentlich schon ganz wo anders.
  15. p***********d

    Ja wenn du es mit einfachen Anführungsstrichen einleitest, ist ja klar dass PHP das nicht mehr unterscheiden kann denn deine HTML-Tags machst du ja auch mit einfachen.
    Also du musst doppelte nehmen, und dann natürlich die HTML-Tags davor/danach mit einfachen.
    echo \"<td width=\'314\' valign=\'top\'>
    <p><font color=\'white\'><textarea class=\'txt\' rows=\'7\' cols=\'40\' name=\'absender_message\' value=\'\".$_TEXT[\'KONTAKT_TEXT2\'].\"\' onfocus=\'if(this.value == \\\"\".$_TEXT[\'KONTAKT_TEXT2\'].\"\\\") this.value=\\\"\\\";\' onblur=\'if (this.value == \\\"\\\") this.value=\\\"\".$_TEXT[\'KONTAKT_TEXT2\'].\"\\\";\'  style=\'color:black; background-color:white;\'>\".$_TEXT[\'KONTAKT_TEXT2\'].\"</textarea></font><span style=\'font-size:9pt;\'><font color=\'black\'><br></font></span></p>
    </td>\";


    Edit: Boah, kann mal jemand das overflow:auto; von den Code-Boxen wieder an stellen? Ist ja echt nervig... (Oder ist das mein Firefox 3?)


    Beitrag geändert: 20.3.2008 14:14:15 von pinguinfreund
  16. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    ho ;)

    also danke für die antworten :)

    @tct & pinguinfreund:
    danke, habe es jetzt hinbekommen ;)

    der code (für meinen fall :P) lautet:
    <html>
    <head>
    <script language =\"JavaScript\">
    
    function clean_up(name)
      {
       var MeineTextbox = document.getElementById(name);
       MeineTextbox.value=\'\';
       if(MeineTextbox.value == \'Put in your message here...\')
       {
        MeineTextbox.value= \'\';
        MeineTextbox.value.focus();
       }
      }
    
    </script>
    </haed>
    <body>
    <textarea id=\"absender_message\" onFocus=\"clean_up(\'absender_message\')\" class=\"txt\" rows=\"7\" cols=40 name=\"absender_message\" style=\"color:black; background-color:white;\">
    Put in your message here...</textarea>
    </body>
    </html>


    da hätte ich noch eine frage dazu...
    gibt es auch so einen befehl, der \"onLeave\" oder so ähnlich heißen könnte (onleave gibt es nicht *gegooglet habe*) - sprich, wenn man die box verlässt, eine weitere funktion aufrufen, die mir die box, sofern sie leer ist, wieder fällt? (die funktion kann ich mir selber schreiben - nur den \"onLeave\" befehl kenne ich nicht :P)

    die frage habe ich aber nur, weil ich JS lernen will :)



    @pinguinfreund:
    danke nocheinmal...
    die sache ist die, dass ich ja schon einen sehr langen source habe, der eben mir echo \' eingeleitet wird...
    und jetzt schreibe ich natürlich nicht alles um, sondern nur die eine zeile...

    dh. ich tausche jetzt alle apostrophe von dir genau ins gegenteil um
    sprich \' zu \"
    und \" zu \'
    und hoffe, dass ich keinen fehler mache und teste es dann...

    ich melde mich, ob erfolgreich oder nicht, auf jeden fall wieder :)

    danke ;)
    Sincer

    PS: nein, das liegt nicht am FF3 - beim 2er schauts genau so aus XD


    //EDIT:
    SUPER :)
    danke, es funktioniert prima XD
    *freu*

    ich würde dir ja einen karma punkt geben... aber das kann max. tct stellvertretend für mich tun *g*


    Beitrag geändert: 20.3.2008 14:57:26 von sincer
  17. @sincer

    da hätte ich noch eine frage dazu...
    gibt es auch so einen befehl, der \"onLeave\" oder so ähnlich heißen könnte (onleave gibt es nicht *gegooglet habe*) - sprich, wenn man die box verlässt, eine weitere funktion aufrufen, die mir die box, sofern sie leer ist, wieder fällt? (die funktion kann ich mir selber schreiben - nur den \"onLeave\" befehl kenne ich nicht)

    Das müsstest du mit onBlur, also beim Verlassen, http://www.w3schools.com/jsref/jsref_onblur.asp bewerkstelligen können.

    @pingu

    Edit: Boah, kann mal jemand das overflow:auto; von den Code-Boxen wieder an stellen? Ist ja echt nervig... (Oder ist das mein Firefox 3?)

    Bei mir ist alles ganz normal (Opera 9.23), also liegt es wohl eher an deinem FF3, da ich auch nicht wüsste, dass in letzter Zeit was am System geändert wurde.

    Beitrag geändert: 20.3.2008 15:21:18 von tct
  18. p***********d

    Dein \'onLeave\' nennt sich onblur.

    Edit: Mist, tct war schneller.
    Edit2: Hm, mit dem Firefox 2 scheints zu funktionieren... vielleicht bleibe ich doch erstmal bei dem.

    Beitrag geändert: 20.3.2008 15:02:32 von pinguinfreund
  19. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    wegen der 2. seite ist wahrscheinlich mein edit unter gegangen :P

    deswegen hier nochmal:

    SUPER :)
    danke, es funktioniert prima XD
    *freu*

    ich würde dir ja einen karma punkt geben... aber das kann max. tct stellvertretend für mich tun *g*



    und zu dem anderen \"onBlur\":
    danke für das bsp - ich habe versucht, das in mein bsp einzubauen, aber es ging nicht...
    innerhalb des <script> teiles habe ich vollgendes hinzugefügt...
    fillBox()
    {
    alert(\"hi\");
    }


    und nach dem onfocus=\"...\" habe ich dazugeschrieben...
    <textarea id=\"absender_message\" onFocus=\"clean_up(\'absender_message\')\" onBlur=\"fillBox()\" class=\"txt\" (...)>


    es geht aber nicht...
    woran kann das liegen?

    lg & danke
    Sincer

    //EDIT:

    Edit2: Hm, mit dem Firefox 2 scheints zu funktionieren... vielleicht bleibe ich doch erstmal bei dem.

    meintest du nicht, dass in der codebox keine automatischen zeilenumbrüche gemacht werden, und man deshalb scrollen muss, oder meintest du was anderes... ?

    Beitrag geändert: 20.3.2008 15:07:56 von sincer
  20. p***********d

    @Problem: da fehlt das \'function\' also
    function fillBox()
    {
    alert(\"hi\");
    }


    @Firefox3-prob: Ne, ich meinte was anderes, nämlich im Firefox 3 wird keine Scrollbar dargestellt, sondern es geht einfach weiter nach rechts und \"zerstört\" das Layout.
  21. Autor dieses Themas

    sincer

    Kostenloser Webspace von sincer

    sincer hat kostenlosen Webspace.

    achso :P

    shit *peinlich*

    ^^
    *leicht übersehen hab*

    kann man die letzten 3 posts von dem hier weggezählt löschen? *g*
    h3h3h3

    thx
    Sincer

    //EDIT:
    habs hinbekommen, funzt perfekt XD
    danke

    /EDIT2:
    ein mir noch unbekannter user hat mir einen karmapunkt gegeben :)
    *freu*
    danke an dieser stelle :D
    @pinguinfreund: deswegen kann ich mein \"versprechen\" einlösen...

    Beitrag geändert: 20.3.2008 15:30:27 von sincer


    Beitrag geändert: 20.3.2008 23:58:08 von sincer
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!