Jürgen: placeholder und disable/enable Value anzeigen gelöscht

Hallo und ein gesundes frohes Jahr 2018

Ich habe <input> Felder die ich via jquery auf disable oder enable setze damit ich die Eingabe sperren und erlauben kann. Das Problem was ich habe ist, dass z.B. am Anfang schon Werte in einem input-feld stehen (kommen aus einer db) mit einem button kann ich dieses feld sperren. Wenn ich es Sperre erscheint jedoch plötzlich der Wert den ich bei placeholder definiert habe. Wenn ich das Feld wieder entsperre dann bleibt jedoch der Wert aus placeholder im Feld und nicht der Value=wert.

im Html-code des browser sind jedoch die Werte noch vorhanden (value=wert)

Da sich diese input-felder dynamisch aufbauen (unter php) möchte ich placeholder eigentlich nur nutzen wenn keine Werte aus der Datenbank kommen und somit nichts angezeigt wird. Oder ich lösche die Eingabefelder absichtlich via Button

Muss ich bei Placeholder was beachten?

Grüße Jürgen

  1. ps.. um die Input-felder zu sperren und wieder zu entsperren nutze ich die jquery Eigenschaft .prob

    $("#box-"+Id+" .week:nth-child("+tr_index+") input[name='"+name+"']").prop('disabled', false);
    

    oder

    $("#box-"+Id+" .week:nth-child("+tr_index+") input[name='"+name+"']").prop('disabled', true);
    
    
  2. @@Jürgen

    Das Problem was ich habe ist, dass z.B. am Anfang schon Werte in einem input-feld stehen (kommen aus einer db) mit einem button kann ich dieses feld sperren. Wenn ich es Sperre erscheint jedoch plötzlich der Wert den ich bei placeholder definiert habe.

    Nein, das passiert nicht – nicht bei dem von dir gezeigten Code.

    Muss ich bei Placeholder was beachten?

    Ja, i.d.R. nicht verwenden. Wenn du die Felder schon vorausfüllst, ist vom Placeholder sowieso nichts zu sehen. Wozu also?

    LLAP 🖖

    --
    “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
    1. Hallo der Code $("#box-"+Id+" .week:nth-child("+tr_index+") input[name='"+name+"']").prop('disabled', false);

      mit .prob('disabled', true)

      sperrt also nur die Eingabe, aber füllt diese nicht mit den Werten des placeholders auf.. richtig?

      wenn ja dann habe ich einen wurm drin…

      Grund: Bei mir hat man eine Art Tabelle die man ausfüllen kann. Entweder werden die linken 4 Felder oder rechten vier Felder ausgefüllt, je nach Auswahl muss dann links oder rechts gesperrt werden.

      Entweder wird eine neue Zeile angelegt in der dann die Beispielwerte des Placeholders stehen sollen oder aber eine bestehende Zeile mit bereits gefüllten Werte kann geändert werden.

      Wird sie nur geändert dann sollen jedoch nicht die bereits darin stehenden werte gelöscht werden oder mit den placeholder-Werte überschrieben werden.

      Hat man jedoch gemerkt das man die falschen 4 felder ausgefüllt hat dann wählt man über Radio Button die anderen 4 felder an und dann sollen die falsch ausgefüllten gelöscht, mit den placeholder-Werten gefüllt und gesperrt werden

      Ich brauche die Placeholder-Werte also nur a) wenn es eine neue leere Zeile der Tabelle ist oder b) wenn der Benutzer die bereits ausgefüllten Werte wieder löschen will da er die falschen 4 Spalten gewählt hat

      Wenn jedoch .prob mit disabled nichts löscht und somit die placeholder-werte dann auch nicht genutzt werden so habe ich einen Wurm drin und lösche im Programm irgendwo die Werte

      so verstehe ich das nun oder?

      1. Hallo Jürgen,

        dann sollen die falsch ausgefüllten gelöscht, mit den placeholder-Werten gefüllt und gesperrt werden

        Hier ist ein Denkfehler.

        Die placeholder-Attribute sind von den Inhalten verschieden. Das placeholder-Attribut soll eine beispielhafte Eingabe angeben. Es ist deshalb nicht sinnvoll, den Inhalt durch den Wert des placeholder-Attributs zu ersetzen.

        Bis demnächst
        Matthias

        --
        Rosen sind rot.
        1. ja ... habe wohl einen Denkfehler oder es falsch beschrieben

          Nur das Eingabe-Feld soll mit den Beispielwerten des placeholder-attributes versehen werden, nicht jedoch der Value-Wert

          Beispiel: in $ Eingabefeldern stehen von der DB kommend

          4.10, 4.50, 1.00 und 1.80 in den anderen 4 Feldern (da 8 Felder pro Zeile) stehen dann die Besipielwerte des placeholders 0.00, 0.00, 0.00 und 0.00 zu diesem Zeitpunkt sie die Eingabefelder gesperrt so dass sie nicht editierbar sind Der User möchte nun die Werte ändern und klickt auf einen Button die Eingabefelder mit den Werten 4.10 etc... werden nun zum Editieren enabled bzw. das disabled wird gelöscht

          In dem Moment sollten dann immer noch die Werte 4.10 etc drin stehen... bei mir stehen dann jedoch die Beispielwerte des placeholders drin

          Womöglich habe ich hier einen Programmierefehler

          Weiter gibt es bei mir die Möglichkeit das der User dann entscheiden kann dass er die ersten 4 bereits gefüllten Felder löschen und anschliesend sperrt so dass er nur noch die zweiten 4 Felder ausfüllen kann . In diesem Beispiel werden die Werte der ersten 4 Felder gelöscht und mit den Placeholder-Werten im Eingabefeld gefüllt (nicht im Value-attribut). Die zweiten 4 Felder werden editierbar.

          Ich dachte ursprünglich das beim Sperren (nur beim Sperren nicht beim löschen) dann automatisch die Placeholder-wete drin stehen... Grund: Wenn ich mir das nämlich nach dem Sperren anschliessend im HTML-Text ansehe so sehe ich das in den Value-attributen noch die Werte 4.10 etc. stehen und das irritierte mich

          Grüße Jürgen