Ergebnis 1 bis 13 von 13
  1. #1
    silent321 ist offline Doppel-As
    registriert
    30-01-2008
    Beiträge
    123

    input text feld "onlick"

    Hallo,

    ich habe eine funktion die folgendes bewirkt:



    Sie ändert das bild links neben dem input textfeld ab sobald dies aktiviert ist.

    der Code dazu sieht so aus:

    PHP-Code:
    function focusEl(el) { 
        if(
    el.value == el.defaultValueel.value ''
        if(
    el.parentNode.bildel.parentNode.bild.src '...'

    function 
    blurEl(el) { 
        if(!
    el.valueel.value el.defaultValue
        if(
    el.parentNode.bildel.parentNode.bild.src '...'

    HTML-Code:
    <img src="bilder/maximize.gif" name='bild'>
    <input name="Passwort" 
    type="password" 
    size="30" 
    maxlength="40" 
    value="Passwort" onfocus="focusEl(this)"
    onblur="blurEl(this)"
    >

    Nun möchte ich die funktion umbauen, die zuerst einmal das gleiche bewirkt wie diese, jedoch das aktivierte bild stehen bleibt, wenn in das textfeld etwas reingeschrieben wurde.

    Ich habe leider nicht das nötige wissen dafür und bitte euch sehr um Hilfe.

    Würde mich sehr über antworten freuen.

    Gruß

  2. #2
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.757

    AW: input text feld "onlick"

    Code:
      
    function blurEl(el) {  
        if(!el.value) {
          el.value = el.defaultValue;  
          el.parentNode.bild.src = '...';
       }  
    }

  3. #3
    silent321 ist offline Doppel-As
    registriert
    30-01-2008
    Beiträge
    123

    AW: input text feld "onlick"

    Super! Dankeschön =), jedoch zeigt er mir das bild "aktiviert" auch an wenn ich nichts in das textfeld eingebe. ich wünsche mir dass sich das bild "aktiviert" nur beibehält wenn text eingegeben wurde.

    Habe noch ein dringendes Problem!

    wenn ich den Html code innerhalb des Formulars in einer Tabelle einfüge funktioniert der bildwechsel nicht!

    außerhalb jedoch klappt das.

    Das Funktioniert nicht...
    HTML-Code:
    <form action="index.php?section=register" method="POST">
    <table border="0">
    <tr height="30"><td>
    <img src="pictures/Symbole/identity.gif" WIDTH=20 HEIGHT=20 ALT="" style="margin:0px 0px 0px 10px;" name="ident">
    <input name="user" class="inputtext" type="text" maxlength="30" value="#value_ident#" 
    style="font-size: 10pt; border:1px solid #error_color_ident#; margin:0px 10px 4px 2px; padding: 0px 0px 1px 1px;" onfocus="focusEl(this)" onblur="blurEl(this)">

    Das Funktioniert:
    HTML-Code:
    <form action="index.php?section=register" method="POST">
    
    <img src="pictures/Symbole/identity.gif" WIDTH=20 HEIGHT=20 ALT="" style="margin:0px 0px 0px 10px;" name="ident">
    <input name="user" class="inputtext" type="text" maxlength="30" value="#value_ident#" 
    style="font-size: 10pt; border:1px solid #error_color_ident#; margin:0px 10px 4px 2px; padding: 0px 0px 1px 1px;" onfocus="focusEl(this)" onblur="blurEl(this)">
    
    <table border="0">
    
    <tr height="30"><td>
    Total Komisch. Wisst ihr warum das sein könnte?
    Geändert von silent321 (05-04-2008 um 16:02 Uhr)

  4. #4
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.757

    AW: input text feld "onlick"

    Wird denn der Default-String wieder reingeschrieben wenn du nichts eingibst?

    Das zweite Problem könnte von der Art, wie du das Bild ansprichst kommen. Wenn du in der Zelle (oder allgemein im Elternelement des INPUT) nur ein Bild hast könntest du es auch mit el.parentNode.getElementByTagName("img") ansprechen.

  5. #5
    silent321 ist offline Doppel-As
    registriert
    30-01-2008
    Beiträge
    123

    AW: input text feld "onlick"

    ausgangsposition: Das bild steht auf deaktiviert: wenn ich nun mit der maus in das input feld kicke aber nichts reinschreibe und das woanders hinkicke bleibt das feld leer das bild jedoch steht auf aktiviert und bleibt auch so. ich möchte jedoch das das bild nur dann auf aktiviert bleibt wenn ich etwas eingebe. der ausgangswert ist immer leer.

    Zum zweiten Problem: meine javascript kenntnisse sind mehr als schlecht. leider weis ich nicht wovon du in dem fall sprichst, kannst du mir erläutern was ich wo am code ändern müsste?

  6. #6
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.757

    AW: input text feld "onlick"

    1. Veränder mal deine if-Abfrage von if (!el.value) in if (el.value != "") vielleicht hilft das.

    2. Das ist mehr DOM als JS - weißst du wie eine Seite im Browser intern gespeichert wird?

    PS: wenn dien Bild immer direkt von dem INPUT steht (auch kein Text dazwischen - nicht einmal Leerzeichen oder Zeilenumbrüche im HTML-Code, denn das könnte dann u.U. Probleme bereiten) kannst du es auch mit el.previousSibling ansprechen. D.h. du nimmst dein INPUT-"Tag" (heißt in der Speicherung eigentlich Node) und greifst dir die Node, die direkt davor ist

  7. #7
    silent321 ist offline Doppel-As
    registriert
    30-01-2008
    Beiträge
    123

    AW: input text feld "onlick"

    Problem 1 ist gelöst, es funktioniert Ich danke dir.

    Bei meinem zweiten Problem jedoch weiß ich nicht was ich tun soll. Ich weis nicht wo ich versuchen soll etwas zu verändern.

    Ich bitte um Hilfe auch wenn ich schon mehr als genug bekommen habe und es mir schon fast peinlich ist zu fragen

  8. #8
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.757

    AW: input text feld "onlick"

    Ist kein Problem - helfe ja gerne.

    Mit deinem el.parentNode.bild sprichst du das Bild vor deinem INPUT an.
    el ist das INPUT-Feld - klar.
    el.parentNode ist das "Eltern"-Objekt des INPUT - also im ersten (funktionierenden) Fall die FORM.
    In Einer FORM kann man "Kinder"-Objekte mit ihrem Name ansprechen, so wie du das gemacht hast: el.parentNode.bild
    im zweiten Fall ist das aber das TD - was diese Möglichkeit nicht hat. Darum funktioniert das da nicht.
    Mein erster Vorschlag war (der mit dem el.parentNode.getElementByTagName("img")) in dem "Eltern"-Objekt nach IMG-Objekten ausschau zu halten - das leifert dann einen Array mit den ganzen gefundenen Objekten - und da wir in unserem TD nur ein Bild haben ist das gewünschte natürlich das erste (el.parentNode.getElementByTagName("img")[0]). Das funktioniert aber im ersten Fall dann nicht mehr, da in unserer Form ja mehrere Bilder stehen (vor jedem INPUT eines).

    Daher der zweite Vorschlag: man geht implizit in das "Eltern"-Objekt und schaut welches Objekt direkt vor dem INPUT steht (deswegen previousSibling).
    Da in manchen Browsern Leerzeichen und Zeilenumbrüche um HTML-Code auch ein Objekt bekommen, darf zwischen dem IMG und dem INPUT natürlich dann nichts stehen. (Text bekommt natürlich immer ein Objekt).

    Summa sumarum wäre die sicherste Möglichkeit deine el.parentNode.bild immer duch ein el.previousSibling zu ersetzten und im HTML die Umbrüche und Leerzeichen (auch Tabulatoren) zu entfernen.

    So etwas lang und theoretisch - hilft dir aber hoffentlich weiter.

  9. #9
    silent321 ist offline Doppel-As
    registriert
    30-01-2008
    Beiträge
    123

    AW: input text feld "onlick"

    Super klasse! Jetzt verstehe ich auch was das script will.


    funktioniert.

    Dankeschön

  10. #10
    silent321 ist offline Doppel-As
    registriert
    30-01-2008
    Beiträge
    123

    AW: input text feld "onlick"

    eine ganz kleine frage noch dann hab ich mein scipt komplett.

    ich möchte das ganze was ich jetzt für ein textfeld input benutze auch für eine Checkbox nutzen.

    das heißt wenn die Checkbox aktiviert ist, soll das dabenstehende bild auch auf aktiviert stehen.

    HTML-Code:
    <input type="checkbox" name="agb" value="Home" style="border:1px solid #error_color_agb#; font-size: 10pt; margin:0px 10px 0px 2px; padding: 0px 0px 1px 1px;">
    wie müsste in dem fall das javascript bzw der HTML-Code lauten

  11. #11
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.757

    AW: input text feld "onlick"

    Gerngeschehen.

    Da könntest du die Funktion onChange hernehmen und dann in deinem Script eine Fallunterscheidung mit el.checked.

  12. #12
    silent321 ist offline Doppel-As
    registriert
    30-01-2008
    Beiträge
    123

    AW: input text feld "onlick"

    Habe es gelöst, Vielen Dank!

    =)
    Geändert von silent321 (05-04-2008 um 19:20 Uhr)

  13. #13
    Splitt3r ist offline Doppel-As
    registriert
    09-07-2005
    Beiträge
    110

    AW: input text feld "onlick"

    was würde es noch für eine alternative geben wenn ich ein formular habe und immer vor einem input feld den tag <font color=...> ansprechen will, zwischen <font und <imput allerdings ein </td><td> liegt?


    Gruß

Ähnliche Themen

  1. input text feld "onlick"
    Von silent321 im Forum JavaScript
    Antworten: 3
    Letzter Beitrag: 30-01-2008, 17:07
  2. DIV mittels JS immer an Browser-Top ausrichten ?!
    Von flashfreak im Forum JavaScript
    Antworten: 9
    Letzter Beitrag: 11-04-2007, 10:05
  3. Iframe mit anker - hauptseite lädt iframe anker
    Von Odo im Forum CSS und (X)HTML
    Antworten: 1
    Letzter Beitrag: 15-03-2007, 17:12
  4. NUR "Druckbereich" festlegen
    Von Speedy19102000 im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 29-09-2006, 16:32
  5. Objekt an "unbekannter" Position erstellen
    Von RoyalKnight im Forum JavaScript
    Antworten: 14
    Letzter Beitrag: 23-12-2005, 01:51

Lesezeichen

Berechtigungen

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