Christian_123: Wert ändern

Ist es möglich dass ich eine Bezeichnung durch einen Klick ändere?

  
<label for="antwort">Antwort per:</label>  
<input name="antwort" type="radio" id="antwort" value="1" />Mail  
<input name="antwort" type="radio" id="antwort" value="0" />Fax  
  
<label for="email">eMail:</label>  
[.....]  
  
<label for="fax">Fax:</label>  
 [.....]  

Wenn ein User auf Mail klickt sollte im label Mail ein * erscheinen (für das Pflichtfeld) wenn er auf Fax klickt, sollte der * bei Fax erscheinen.

Schwer umzusetzen vielleicht sogar mit CSS möglich? jQuery steht zur Verfügung.

  1. Aloha ;)

    Wenn ein User auf Mail klickt sollte im label Mail ein * erscheinen (für das Pflichtfeld) wenn er auf Fax klickt, sollte der * bei Fax erscheinen.

    Schwer umzusetzen vielleicht sogar mit CSS möglich? jQuery steht zur Verfügung.

    Auf jeden Fall geht das über natives Javascript - sogar ganz einfach. Da brauchts kein jQuery dazu (auch wenn ich so langsam den Eindruck bekomme, dass manche denken, vor jQuery käme die Steinzeit...). Codeneispiele dafür sind ziemlich trivial. Werde ich dir also nur schreiben, wenn du's wirklich nicht hinbekommst.

    Je nach restlicher Seitenstruktur kann es sogar mit CSS gehen. Ähnlich wie der Checkbox-Hack nur mit radio statt checkbox und sichtbar ;) Wenn die labels, die du verändern willst, hinter den radios auf derselben Ebene stehen, dann funktionierts. Verwende einfach den Attribut-Selektor für value, den sibling-Selektor und zum Einfügen des Sterns die Pseudoklasse ::after...

    Ich plädiere bei sowas grundsätzlich für CSS-Lösungen. Für solche einfachen Geschichten sollten User Javascript nicht aktivieren müssen (auch wenn ein Fehlen dieses Features durch abgeschaltetes JS genausowenig schlimm wäre).

    Grüße,

    RIDER

    --
    Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
    ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
    1. Hätte ich eine Lösung hätte ich die Frage hier nicht gestellt. Aber ok ich werde es wie früher mit zwei Seiten machen. Erst wählt der User wie er informiert werden möchte dann kommt er auf Seite 2 wo er den Rest ausfüllen kann / muss. Geht am schnellsten und ist am wenigsten Arbeit.

    2. Auf jeden Fall geht das über natives Javascript - sogar ganz einfach. Da brauchts kein jQuery dazu (auch wenn ich so langsam den Eindruck bekomme, dass manche denken, vor jQuery käme die Steinzeit...). Codeneispiele dafür sind ziemlich trivial. Werde ich dir also nur schreiben, wenn du's wirklich nicht hinbekommst.

      So sollte es funktionieren

        
      <input name="antwort" type="radio" value="1" onclick="document.getElementById('test123').innerHTML = '*';" />  
      
      

      <label for="email">Ihre Mail Adresse:<span id="test123"></span></label>

      1. Hab es noch um einen Bereich erweitert. Wenn man zwischen den Bereichen klickt wechselt nun der * immer an die Position die ausgewählt wurde. Beim ersten Versuch wurde er nicht wieder gelöscht.

          
        <input name="antwort" type="radio" value="1" onclick="document.getElementById('test123').innerHTML = '*'; document.getElementById('test456').innerHTML = '';" />Mail  
          
        <input name="antwort" type="radio" value="0" onclick="document.getElementById('test456').innerHTML = '*'; document.getElementById('test123').innerHTML = '';" />Fax  
        
        
        1. Aloha ;)

          Siehst du ;) nicht gleich eingeschnappt sein, wenn ich sage es ist trivial, dann ist es das auch ;) und wenn du ernsthaft Probleme gehabt hättest, hätte ich's dir ja - wie geschrieben - auch auf dem Silbertablett serviert.

          Grüße,

          RIDER

          --
          Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
          ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
          1. Siehst du ;) nicht gleich eingeschnappt sein, wenn ich sage es ist trivial, dann ist es das auch ;) und wenn du ernsthaft Probleme gehabt hättest, hätte ich's dir ja - wie geschrieben - auch auf dem Silbertablett serviert.

            Das hat nichts mit eingeschnappt  zu tun. Diese Zeit die ich ins suchen, lesen und testen investiert habe hätte ich auch in „sinnvolleres“ investieren können. So eine Funktion brauche ich nie wieder. Wenn es nach mir ginge wären alle Felder offen so dass der User nur dieses ausfüllen muss was ER auch möchte! Aber die alten Leute haben Angst vor Spam. Sollen die eben bekommen was die möchten.

            1. Aloha ;)

              Das hat nichts mit eingeschnappt  zu tun. Diese Zeit die ich ins suchen, lesen und testen investiert habe hätte ich auch in „sinnvolleres“ investieren können.

              Moment mal - aber ich soll diese Zeit in _dein_ Problem investieren? Glaubst du, ich hab hier nen Stapel Codebeispiele liegen, die ich dir per Copy+Paste servieren kann?

              Also entschuldige und ohne dir zu nahe treten zu wollen, aber wenn dich dieses Problem überfordert, dann ist die Zeit zum suchen, lesen und testen sinnvoll investiert.

              So, genug in Rage geredet, das ist es nicht wert.

              Ich hab überhaupt nichts gegen Anfänger - wirklich nicht. Und hättest du das Problem nicht selbst gelöst bekommen, hätte ich dir geholfen. Ist es zu viel verlangt, wenn man dich bittet, selbst auch ein wenig Arbeit reinzustecken? Oder etwas Lernwillen zu zeigen?

              So eine Funktion brauche ich nie wieder. Wenn es nach mir ginge wären alle Felder offen so dass der User nur dieses ausfüllen muss was ER auch möchte! Aber die alten Leute haben Angst vor Spam. Sollen die eben bekommen was die möchten.

              Nun, für mich hört sich das sehr eingeschnappt an. Und dein Tonfall ist allenfalls dreist und unverschämt, aber egal. Persönlich kratzen muss mich das nicht, ich bin ja nicht deine Mami :D

              Grüße,

              RIDER

              --
              Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
              ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
              1. Moment mal - aber ich soll diese Zeit in _dein_ Problem investieren? Glaubst du, ich hab hier nen Stapel Codebeispiele liegen, die ich dir per Copy+Paste servieren kann?

                Habe ich NIE behauptet. Ich bin jetzt wirklich davon ausgegangen dass du dich mit Javascript auskennst und solche Sachen rumliegen hast. Denn einer der das regelmäßig macht wird solche Sachen bestimmt öfters gebrauchen oder?

                Aber wie schon geschrieben ich werde ohne Javascript arbeiten und lege zwei Seiten an wo der Kunde wählen kann wie er eine Antwort erhalten möchte und anschließend kommt er auf Seite zwei. Damit habe ich mehr Freiheiten und kann beide Seiten komplett individuell gestallten.

                1. Aloha ;)

                  Ich bin jetzt wirklich davon ausgegangen dass du dich mit Javascript auskennst und solche Sachen rumliegen hast. Denn einer der das regelmäßig macht wird solche Sachen bestimmt öfters gebrauchen oder?

                  Tatsächlich eigentlich nicht. Erstens gibts nen Unterschied zwischen "es schnell mal schreiben können" (das kann ich) und "ein passendes Codebeispiel rumliegen haben" (das habe ich nicht). Selbst wenn ich sowas ab und an brauche, dauert es viel länger aus einem komplexen System ein Codebeispiel rauszuschweißen, um es hier angepasst ans Beispiel posten zu können, als es neu zu schreiben.

                  Und einerseits ist meine Motivation, Codebeispiele am Touchscreen zu entwerfen denkbar gering, andererseits denke ich tatsächlich, dass du (vor allem auf lange Sicht) viel mehr davon hast, dich gezielt damit zu befassen (DASS es geht hatte ich dir ja schon gesagt, dass es nur relativ wenig Code ist auch), als ein Codebeispiel einzuhacken, das du nicht zur Gänze verinnerlicht hast.

                  Glaub mir, wenn du weiter in diesem Bereich tätig sein willst, ist das Basiswissen, das du besitzen solltest.

                  Grüße,

                  RIDER

                  --
                  Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
                  ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
  2. Hi,

    <label for="antwort">Antwort per:</label>
    <input name="antwort" type="radio" id="antwort" value="1" />Mail
    <input name="antwort" type="radio" id="antwort" value="0" />Fax

    <label for="email">eMail:</label>
    [.....]

    <label for="fax">Fax:</label>
    [.....]

    
    >   
    > Wenn ein User auf Mail klickt sollte im label Mail ein \* erscheinen (für das Pflichtfeld) wenn er auf Fax klickt, sollte der \* bei Fax erscheinen.  
      
    Das ist doch unlogisch. Das Pflichtfeld ist doch nicht der (ausgewählte) Radiobutton, sondern die Radiobutton-Gruppe. Der \* für die Markierung als Pflichtfeld gehört deshalb doch zur Gruppe (bei Dir also ins label for="antwort").  
    Damit entfällt dann auch die Notwendigkeit, den Stern mal hier, mal da, anzuzeigen.  
      
    Wenn der ausgewählte Radiobutton als Pflichtfeld markiert wird, hieße das doch, daß diese Auswahl verpflichtend ist, und der zweite Radiobutton gar nicht mehr gewählt werden dürfte (weil damit ja das Pflichtfeld abgewählt würde).  
      
    Abgesehen davon: Du hast zweimal die id="antwort" vergeben - ein id-Wert darf aber nur höchstens einmal pro Dokument vorkommen.  
      
    cu,  
    Andreas
    
    -- 
    [Warum nennt sich Andreas hier MudGuard?](http://MudGuard.de/)  
    [O o ostern ...](http://ostereier.andreas-waechter.de/)  
      
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.  
    
    
    1. Das ist doch unlogisch. Das Pflichtfeld ist doch nicht der (ausgewählte) Radiobutton, sondern die Radiobutton-Gruppe. Der * für die Markierung als Pflichtfeld gehört deshalb doch zur Gruppe (bei Dir also ins label for="antwort").
      Damit entfällt dann auch die Notwendigkeit, den Stern mal hier, mal da, anzuzeigen.

      Nein, es ist ganz und gar nicht unlogisch – zumindest für mich – der User soll im oberen Feld „Antwort per“ wählen wie er informiert werden möchte. Die Felder DARUNTER werden später demensprechend zu Pflichtfelder oder eben nicht.

      Wenn er oben Mail wählt, sollte unten vor dem Wort Mail ein * erscheinen, wie es in der Anweisung der Seite steht (alle Felder die mit einem * versehen sind müssen ausgefüllt werden).

      1. Hallo

        Das ist doch unlogisch. Das Pflichtfeld ist doch nicht der (ausgewählte) Radiobutton, sondern die Radiobutton-Gruppe. Der * für die Markierung als Pflichtfeld gehört deshalb doch zur Gruppe (bei Dir also ins label for="antwort").
        Damit entfällt dann auch die Notwendigkeit, den Stern mal hier, mal da, anzuzeigen.

        Nein, es ist ganz und gar nicht unlogisch – zumindest für mich

        Dann hast du einen Knoten in deinen Gedanken. Kommt vor.

        – der User soll im oberen Feld „Antwort per“ wählen wie er informiert werden möchte. Die Felder DARUNTER werden später demensprechend zu Pflichtfelder oder eben nicht.

        Nein, EINES der Felder aus einer zusammengehörenden Gruppe muss ausgefüllt sein. Also gehört die Markierung zur Gruppe, denn es ist egal, welcher der Werte der Gruppe ausgewählt wird, solange überhaupt einer ausgewählt wird.

        Wenn er oben Mail wählt, sollte unten vor dem Wort Mail ein * erscheinen, wie es in der Anweisung der Seite steht (alle Felder die mit einem * versehen sind müssen ausgefüllt werden).

        Tja, eben hat der Benutzer Telefon ausgewählt und wurde, nachdem er es ausgewählt hat, darauf hingewiesen, dass das ein Pflichtfeld ist (eine an sich kaputte Logik), da fällt ihm ein, dass die Benachrichtigung per Email viel bequemer ist. Er wählt also Email aus, wird – wiederum erst nach der Auswahl – benachrichtigt, dass Email ein Pflichtfeld ist und wundert sich bestenfalls, dass die Markierung für Telefon nun weg ist. Das ist sie doch? Mit ein bisschen Pech ist er verwirrt und schaltet bis zur Lustlosigkeit zwischen den Optionen hin und her.

        Das System ist kaputt. Es gibt eine Möglichkeit, einen Benachrichtgungsweg auszuwählen. Ich muss einen wählen und das will ich vor dem Abschicken des Formulars wissen. Es zu erfahren, wenn das Formular beim oder nach dem Absenden mit einer Fehlermeldung mitteilt, dass ich eine Wahl hätte treffen müssen, nutzt mir nichts.

        Tschö, Auge

        --
        Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
        Terry Pratchett, "Wachen! Wachen!"
        ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
        Veranstaltungsdatenbank Vdb 0.3