Ingo Siemon: Eingaben in Groß- und Kleinbuchstaben ändern

Hallo Ihr Lieben

Ich betreibe einen Onlie-Shop.

Au der Seite, wo der Kunde seine Daten eingibt,
gibts immer wieder Leute, die alles in Gruß uder alles in Kleinbuchstaben schrieben.

Da ich die Daten aber zur Weiterverarbeitung gerne "normal"
(erster Buchstabe groß, Rest klein) haben möchte,
suche ich eine Möglickeit, das automatisch zu ändern.

Man kann ja auf folgende Art, dafür sorgen, dass alles Gruß
oder ales Klein geschrieben wird:

<form name="formular">
<input type="text" onChange="this.value=this.value.toLowerCase();"><br>
<input type="text" onChange="this.value=this.value.toUpperCase();"><br>
<input type="submit" value=" Los! ">
</form>

Aber wie erreiche ich es, dass bei jedem Wort nur der erste Buchstabe
Groß und der Rest klein wird ?

Hat von Euch jemand dazu eine Idee?
Das würde mich natürlich wieder riesig freuen :))

Gruß aus Münster
Ingo Siemon

  1. hi,

    Aber wie erreiche ich es, dass bei jedem Wort nur der erste Buchstabe
    Groß und der Rest klein wird ?

    mit javascript: da musst du dir was basteln, wortgrenzen suchen und anschliessend ersten buchstaben gross machen.

    in serverseitigen sprachen (und ohne serverseitige sprache wird dein shop ja wohl eh kaum auskommen) gibt es dafür bereits funktionen, in PHP z.b. http://www.php.net/manual/de/function.ucwords.php.

    gruss,
    wahsaga

    1. Hallo

      mit javascript: da musst du dir was basteln, wortgrenzen suchen und anschliessend ersten buchstaben gross machen.

      Ja, aber da ich ja eigentlich JavaScript nicht wirklich behersche ...
      ... suche ich nach einer Lösung, WIE ich das machen kann.

      in serverseitigen sprachen (und ohne serverseitige sprache wird dein shop ja wohl eh kaum auskommen) gibt es dafür bereits funktionen, in PHP z.b. http://www.php.net/manual/de/function.ucwords.php.

      Geht das auch mit Pearl ?

      Gruß
      Ingo

  2. Hi,

    Ich betreibe einen Onlie-Shop.

    Kann man da Lügen kaufen? SCNR ;-)

    Au der Seite, wo der Kunde seine Daten eingibt,
    gibts immer wieder Leute, die alles in Gruß uder alles in Kleinbuchstaben schrieben.
    Da ich die Daten aber zur Weiterverarbeitung gerne "normal"
    (erster Buchstabe groß, Rest klein) haben möchte,

    Hm. Da sehe ich aber auch Probleme, da bei Namen dieses Schema 1. Buchstabe groß, Rest klein nicht immer korrekt ist.
    Hier mal 2 bekanntere Beispiele:
    Johann Wolfgang _v_on Goethe
    Ronald McDonald

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    1. Lieber Andreas

      Ich betreibe einen Onlie-Shop.

      Kann man da Lügen kaufen? SCNR ;-)

      Ups ... natürlich OnliNe-Shop :)
      Lügen gibbet bei mir net.

      Hm. Da sehe ich aber auch Probleme,
      da bei Namen dieses Schema 1. Buchstabe groß,
      Rest klein nicht immer korrekt ist.
      Hier mal 2 bekanntere Beispiele:
      Johann Wolfgang _v_on Goethe
      Ronald McDonald

      Ja, das ist schon klar, aber in den allermeisten Fällen passt es doch.
      Bei den paar Fällen wo es dann nicht passt, würde ich das von Hand ändern.

      Hast Du denn einen Vorschlag, ob das überhaupt machbar ist ?

      Gruß aus Münster
      Ingo

      1. Moin!

        Hier mal 2 bekanntere Beispiele:
        Johann Wolfgang _v_on Goethe
        Ronald McDonald

        Ja, das ist schon klar, aber in den allermeisten Fällen passt es doch.
        Bei den paar Fällen wo es dann nicht passt, würde ich das von Hand ändern.

        Und woher willst du wissen, wann das angebracht ist?

        Hast Du denn einen Vorschlag, ob das überhaupt machbar ist ?

        Prüfe, ob der Name komplett in Kleinbuchstaben oder komplett in Großbuchstaben eingegeben wurde. Wenn das der Fall ist, weise den Benutzer darauf hin, dass er seine Angaben doch bitte mit Klein- _und_ Großbuchstaben machen soll.

        Wenn du selbst was dran rumänderst, gibt das mehr Probleme, als wenn du deine Kunden das machen läßt.

        - Sven Rautenberg

        --
        "Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)
  3. Hi Ingo,

    so könntest du es machen:

    function doIt() {
      lowerText = document.Form.Feld.value.toLowerCase();
      laenge = document.Form.Feld.value.length;
      firstLetter = lowerText.substr(0,1).toUpperCase();
      newText = firstLetter + lowerText.substr(1,laenge-1);
      alert(newText);
    }

    LG, piranja

    Da ich die Daten aber zur Weiterverarbeitung gerne "normal"
    (erster Buchstabe groß, Rest klein) haben möchte,
    suche ich eine Möglickeit, das automatisch zu ändern.

    1. Hi nochmal,
      sorry, hab meinen Testcode nicht auf dein Beispiel angepasst ...
      Müsste also dann bei dir so aussehen:

      <html>
      <head>
      <script type="text/javascript">
      function doIt(Text) {
        lowerText = document.getElementById(Text).value.toLowerCase();
        laenge = document.getElementById(Text).value.length;
        firstLetter = lowerText.substr(0,1).toUpperCase();
        newText = firstLetter + lowerText.substr(1,laenge-1);
        document.getElementById(Text).value = newText;
      }
      </script>
      </head>

      <body>
      <form name="formular">
      <input type="text" onChange="doIt(this.id);" id=feld1><br>
      <input type="text" onChange="doIt(this.id);" id=feld2><br>
      <input type="submit" value=" Los! ">
      </form>
      </body>
      </html>

      LG, piranja

      1. Hi nochmal,
        sorry, hab meinen Testcode nicht auf dein Beispiel angepasst ...
        Müsste also dann bei dir so aussehen:

        <html>
        <head>
        <script type="text/javascript">
        function doIt(Text) {
          lowerText = document.getElementById(Text).value.toLowerCase();
          laenge = document.getElementById(Text).value.length;
          firstLetter = lowerText.substr(0,1).toUpperCase();
          newText = firstLetter + lowerText.substr(1,laenge-1);
          document.getElementById(Text).value = newText;
        }
        </script>
        </head>

        <body>
        <form name="formular">
        <input type="text" onChange="doIt(this.id);" id=feld1><br>
        <input type="text" onChange="doIt(this.id);" id=feld2><br>
        <input type="submit" value=" Los! ">
        </form>
        </body>
        </html>

        Hey, vielen lieben Dank für Deine schnelle Hilfe.
        Aber da ich leider von Javascript nicht so ganz viel verstehe :)))
        hier nochmal ein Auschnitt aus meinem bisherigen Formular:

        <body>
        <form name="formular">
        Vorname / Nachname: <input type=text name="Name"><br>
        Strasse: <input type=text name="Strasse"><br>
        PLZ / Ort: <input type=text name="Ort"><br>
        <input type="submit" value=" Los! ">
        </form>
        </body>
        </html>

        Könntest Du mir das nochmal anhand dieses Beispiels machen ?

        Ich hoffe nicht, dass meine Bitte zu frech ist :))
        Gruß aus Münster
        Ingo Siemon

        1. Hi,

          kein Thema ... hier nochmal das Script. (Musste noch was abändern, da in einem Feld ja auch mehrere Wörter sein können ...)

          <html>
          <head>
          <script type="text/javascript">
          function doIt(Text) {
            theNewText = ""
            woerter = document.getElementById(Text).value.split(" ");
            for(i=0; i<woerter.length; i++) {
              lowerText = woerter[i].toLowerCase();
              laenge = woerter[i].length;
              firstLetter = lowerText.substr(0,1).toUpperCase();
              newText = firstLetter + lowerText.substr(1,laenge-1);
              theNewText = theNewText + newText + " ";
            }
            document.getElementById(Text).value = theNewText;
          }
          </script>
          </head>

          <body>
          <form name="formular">
          Vorname / Nachname: <input type=text name="Name" id="Name" onChange="doIt(this.id);"><br>
          Strasse: <input type=text name="Strasse" id="Strasse" onChange="doIt(this.id);"><br>
          PLZ / Ort: <input type=text name="Ort" id="Ort" onChange="doIt(this.id);"><br>
          <input type="submit" value=" Los! ">
          </form>

          </body>
          </html>

          LG, piranja

          1. Hi,

            kein Thema ... hier nochmal das Script. (Musste noch was abändern, da in einem Feld ja auch mehrere Wörter sein können ...)

            <html>
            <head>
            <script type="text/javascript">
            function doIt(Text) {
              theNewText = ""
              woerter = document.getElementById(Text).value.split(" ");
              for(i=0; i<woerter.length; i++) {
                lowerText = woerter[i].toLowerCase();
                laenge = woerter[i].length;
                firstLetter = lowerText.substr(0,1).toUpperCase();
                newText = firstLetter + lowerText.substr(1,laenge-1);
                theNewText = theNewText + newText + " ";
              }
              document.getElementById(Text).value = theNewText;
            }
            </script>
            </head>

            <body>
            <form name="formular">
            Vorname / Nachname: <input type=text name="Name" id="Name" onChange="doIt(this.id);"><br>
            Strasse: <input type=text name="Strasse" id="Strasse" onChange="doIt(this.id);"><br>
            PLZ / Ort: <input type=text name="Ort" id="Ort" onChange="doIt(this.id);"><br>
            <input type="submit" value=" Los! ">
            </form>

            </body>
            </html>

            Hey, genau das ist es !!!
            Ich sach dann nochmal ganz vielen lieben Dank für Deine schnelle und tolle Hilfe !!!

            Gruß aus Münster
            Ingo Siemon

            1. hi,

              Hey, genau das ist es !!!

              und da du jetzt schon die lösung frei haus präsentiert bekommen hast, ohne selber was dafür tun zu müssen, nimmst du dir jetzt bitte wenigstens mal die zeit, http://learn.to/quote zu lesen und anständig zitieren zu lernen, danke.

              gruss,
              wahsaga

              1. Hallo

                und da du jetzt schon die lösung frei haus präsentiert bekommen hast, ohne selber was dafür tun zu müssen, nimmst du dir jetzt bitte wenigstens mal die zeit, http://learn.to/quote zu lesen und anständig zitieren zu lernen

                OK, werd ich machen.

                Gruß
                Ingo