Problem mit Eingabefeld.

  • Guten Tag

    Ich habe ein Problem mit einem Eingabe Feld. Ich möchte, dass in dem Eingabefeld am Anfang etwas drin steht, sobald mann es anklickt, gelöcht wird und mann selber etwas reinschreibt. Derzeit muss mann manuell löschen. Wie geht das?


    Derzeit sieht es so aus:
    <input name="Name" maxlength="20" size="40" value="Bitte geben Sie hier Ihren Namen ein">

    Mit besten Grüßen: Smooky

  • JavaScript ist dein Freund. Mit dem Event-Handler onFocus arbeiten und dabei prüfen, ob der Default-Text in dem Feld steht. Wenn ja, dann Feld leeren.

  • Derzeit hab ich das gemacht:

    <script language="JavaScript">
    <--
    function disappear()
    {
    onfocus="if(this.value=='Name'){this.value=''}" onblur="if(this.value==''){this.value='Name'}";
    }

    //-->
    </script>


    <input name="Name" maxlength="20" size="40" value="Bitte geben Sie hier Ihren Namen ein" onclick="javascript:disappear()">

    Aber es Funzt nicht...

  • da versuchste ja auch eventhandler die man eigentlich ins tag einbaut ins script zu schreiben.. so wie du es da gemacht hast. brauchste das javascript im head nicht!
    dann bringen des öfteren verweise mit this auch nicht das gewünschte ergebnis..
    um 100% sichergehen zu können, vergibste ne ID, die dem name-attribut entspricht und arbeitest mit der ID ich hab deinen code mal etwas umgestaltet... evtl fallen dir ja die unterschiede auf ;)

  • Ahh ja....
    passt super,
    Kann ich mit ner kleinen Veränderung auch ein zweites Textfeld einfügen, welches zum Beispiel Adresse heist, und die selbe Funktion kann? Derzeit ist es nur auf ein Textfeld zugeschnitten.

  • Ohjemine..
    Hab jetzt mehrere Dinge ausprobiert, zum Beispiel ne switch Anweisung in der Funktion oder if Anweisungen. Jedesmahl funktioniert dann nur ein Feld mit dem Löschen. Aber nie beide gleichzeitig. Wie soll ich die Id in die Funktion so übergeben das ein anderer Text statt: "Bitte geben Sie hier Ihren Namen ein" beim zweitem Textfeld verwendet wird?

  • HTML
    <input id="Name" name="Name" maxlength="20" size="40" value="Bitte geben Sie hier Ihren Namen ein" onfocus="disappear('Name');" onblur="disappear('Name');">
    
    
    <input id="textfeld2" name="textfeld2" maxlength="20" size="40" value="Bitte geben Sie hier Ihren Namen ein" onfocus="disappear('textfeld2');" onblur="disappear('textfeld2');">

    am script wird nichts geändert.. nur am aufruf

  • So hatte ich es erst auch, aber dabei wird erstens das zweite Textfeld nicht gelöscht und zweitens wenn es manuell gelöscht wird, wenn mann wieder rausgeht das Reingeschrieben was im ersten Textfeld drinn stehn muss.

    Also es sollen zwei Textfelder Existieren, die beide wenn mann sie anklickt gelöscht werden aber wenn mann wieder weg geht wieder was drinn steht, aber Unterschiedlicher Text.

  • aha, was soll denn da drinstehen? und es wäre ratsam wenn du von anfang an schreibst, welches ziel du verfolgst.. nur so kann man dir wirklich helfen!

    es bringt nichts wenn du sagst ich brauch xy und wenn du es bekommst kommt dann ein ahh jetzt brauch ich aber noch ein z was passiert wenn xy da is und angeklickt wird.
    ich hoffe du konntest das beispiel soweit verstehen!

    und weil das ganze ne javascript-angelegenheit ist, verschieb ich das ding mal in den entsprechenden bereich!

    Einmal editiert, zuletzt von synaptic (17. Februar 2009 um 15:16)