Eingabe in Formular auf Umlaute überprüfen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Eingabe in Formular auf Umlaute überprüfen

    Hallo,

    ich versuche mit nachfolgender Java-Funktion, die beim Absenden eines Formulars aufgerufen wird, die Eingaben auf Umlaute überprüfen und mit Meldung anzuzeigen, daß diese vermieden werden sollen. Nur funktioniert diese Funktion nicht, weiß leider nicht mehr warum. Hier die Funktion, vielleicht findet jemand den Fehler.

    function checkumlaute(feldname) {
    var arr = feldname.match(/[üäöÄÖÜß]+/g);
    if(arr.length == feldname.length)
    return true;
    else
    alert ("Sie verwenden Umlaute, bitte ausschreiben");
    document.formname.feldname.focus();
    return false;
    }

  • #2
    Re: Eingabe in Formular auf Umlaute überprüfen

    Code:
    function checkumlaute([b]formname[/b], feldname) {
      [b]var feld = eval('document.'+formname+'.'+feldname';[/b]
      var arr = [b]feld.value[/b].match(/[[b]^[/b]üäöÄÖÜß]+/);
      if(arr.length == [b]feld.value[/b].length)
        return true;
      else[b]{[/b]
        alert ("Sie verwenden Umlaute, bitte ausschreiben");
        [b]feld[/b].focus();
        return false;
      [b]}[/b]
    }
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      es funktioniert leider immer noch nicht. finde den Fehler einfach nicht. Ich poste hier mal den gesamten Code: (ist nicht lang

      <html>
      <head>
      <SCRIPT LANGUAGE="JavaScript">
      function checkumlaute(formname, feldname) {
      var feld = eval('document+'.'+formname+'.'+feldname');
      var arr = feld.value.match(/[^üäöÄÖÜß]+/);
      if(arr.length == feld.value.length)
      return true;
      else
      {
      alert ("Sie verwenden Umlaute, bitte ausschreiben");
      feld.focus();
      return false;
      }
      }
      </SCRIPT>
      </head>
      <body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#ff0000">
      <FORM NAME="formname" ACTION="http://www.test.php" onSubmit="return checkumlaute()">
      <INPUT TYPE="text" NAME="feldname" SIZE=40 VALUE="">
      <INPUT TYPE="submit" NAME="submit" VALUE=" Submit ">
      </Form>
      </body>
      </html>

      PS: habe bei der eval-funktion eine Klammer hinzugefügt und ein Pluszeichen,

      Kommentar


      • #4
        oha ... ich war davon ausgegangen, dass formname und feldname die Funktionsparameter sein sollen, die Namen des Formulars und des Feldes beinhalten.
        So wie es ist, muss das natürlich so heißen:

        function checkumlaute() {
        var feld = document.formname.feldname;
        ...

        ohne eval, Klammern, + und Hochkommata

        es funktionierte eben nicht, weil die Parameter nicht übergeben wurden (jetzt braucht die Funktion keine mehr) UND wegen eines kleinen Tippfehlers in der eval-Zeile.
        jetzt aber!
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #5
          jetzt geht diese Funktion, ich habe diese Abfrage erst getrennt getestet und wollte diese dann in eine bestehende Javascript-Abfrage einbetten mit

          function add_form() {
          if((document.formname.feldname.value == "") || (document.formname.feldname.value.match(/[üäöÄÖÜß]+/g).length > 0)) {
          alert("Sie haben keinen Wert angegeben oder Sie verwenden Umlaute");
          document.formname.feldname.focus();
          return false
          }

          aber leider funktioniert das Hinzufügen dieser Bedingung zu der bestenden Bedingung nicht mehr - gibts hierfür eine Lösung?
          Ich habe schon versucht 2 if ... -clauses daraus zu machen, aber auch ohne Erfolg.

          Kommentar


          • #6
            hmm ... sieht korrekt aus
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              Es ist mir ein Rätsel, warum die die Java-Funktion nicht funktioniert. Um das Problem einzugrenzen, habe ich nachfolgende Javafunktion AbGehts() erstellt, welche über einen submit-button aufgerufen werden soll, aber nicht funktioniert, nehme ich die gesamte If-Bedingung weg, dann wir sie aufgerufen, - aber warum? Ich kann an dieser if-Bedingung nichts falsches sehen, was den Aufruf der Funktion behindern soll. Bin für jede Hilfe dankbar

              <body>
              <form name=Testform action="/test.php3" method=post>
              <input type=text size=40 name="Feldname"><br>
              </form>
              <INPUT TYPE="button" NAME="submit" VALUE="Submit " onclick="javascript: AbGehts(); ">

              <script language="JavaScript">
              function AbGehts() {
              if(document.Testform.feldname.value.match(/[üäöÄÖÜß]+/g).length > 0)
              document.Testform.submit();
              }
              </script>
              </body>

              Kommentar


              • #8
                'java script' soll natürlich zusammengeschrieben sein, an dem liegts nicht

                Kommentar


                • #9
                  Habe nun den Fehler doch tätsächlich noch gefunden (kurz vor Ausschalten der Kiste), die o.g. Funktion muß lauten:

                  function add_form() {
                  if((document.formname.feldname.value == "") || (document.formname.feldname.value.match(/[üäöÄÖÜß]+/g) > "0")) { ......


                  d.h. das "length" habe ich weggemacht und die 0 habe ich in Anführungs gesetzt, jetzt gehts

                  Kommentar


                  • #10
                    Original geschrieben von Ralf
                    'java script' soll natürlich zusammengeschrieben sein, an dem liegts nicht
                    daran ist das Forum schuld, können wir auch irgendwie nicht abstellen ... sorry
                    mein Sport: mein Frühstück: meine Arbeit:

                    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                    Kommentar


                    • #11
                      Original geschrieben von Ralf
                      Habe nun den Fehler doch tätsächlich noch gefunden (kurz vor Ausschalten der Kiste), die o.g. Funktion muß lauten:

                      function add_form() {
                      if((document.formname.feldname.value == "") || (document.formname.feldname.value.match(/[üäöÄÖÜß]+/g) > "0")) { ......


                      d.h. das "length" habe ich weggemacht und die 0 habe ich in Anführungs gesetzt, jetzt gehts
                      wie genau sieht denn das ganze jetzt insgesamt bei dir aus? hatte es mal versucht aber da kommt er ständig mit der meldung auch wenn keine umlaute drin sind ... was muss ich denn machen, wenn ich mehrere felder überprüfen lassen will? mir geht's eigentlich nur um die umlaute da ein leeres feld bereits von php kontrolliert wird

                      grüße san

                      Kommentar


                      • #12
                        mir geht's eigentlich nur um die umlaute da ein leeres feld bereits von php kontrolliert wird
                        wenn du umlaute vermeiden willst, mußt du doch trotzdem noch mit php checken .... !?
                        Die Zeit hat ihre Kinder längst gefressen

                        Kommentar


                        • #13
                          Original geschrieben von derHund
                          wenn du umlaute vermeiden willst, mußt du doch trotzdem noch mit php checken .... !?
                          hmm ... wie gesagt php checkt auch ob die felder leer sind oder nicht aber das problem ist, dass man umlaute eingeben kann und diese dann bei einer automatischen link generierung mit hinein kommen ... klar dass dann der link natürlich nicht funktioniert ... und jetzt such ich eben eine möglichkeit das hinzubekommen

                          Kommentar


                          • #14
                            Original geschrieben von derHund
                            wenn du umlaute vermeiden willst, mußt du doch trotzdem noch mit php checken .... !?
                            ob umlaute vorhanden sind, da bei deaktiviertem js dir eine überprüfung mit js wenig bringt.
                            Die Zeit hat ihre Kinder längst gefressen

                            Kommentar


                            • #15
                              Original geschrieben von derHund
                              ob umlaute vorhanden sind, da bei deaktiviertem js dir eine überprüfung mit js wenig bringt.
                              ich weiß ich bin dafür jetzt im falschen forum aber wenn es mit php auch eine möglichkeit gibt das zu prüfen und gegebenen falls das formular nicht abzuschicken wäre ich für diese lösung überaus dankbar

                              Kommentar

                              Lädt...
                              X