Jan: automatischer Alert wenn die Buchstaben .de eingetippt werden

Hallo,

ich habe ein Textfeld und möchte dort eine Domain abfragen. Wenn man eine Domain eingetippt hat, die auf .de oder .DE endet, soll das Formular automatisch ein javascript alert auslösen. geht das? wenn ja wie?

Grüße
Jan

  1. Hi,

    ich habe ein Textfeld und möchte dort eine Domain abfragen. Wenn man eine Domain eingetippt hat, die auf .de oder .DE endet, soll das Formular automatisch ein javascript alert auslösen.

    warum?

    geht das? wenn ja wie?

    Beim richtigen Ereignis abprüfen und ggf. reagieren. Ich halte das Vorgehen aber aus anderen Gründen für problematisch.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. naja, ich möchte eigentlich ein Ajax auslösen, aber das Beispiel ist einfacher, wenn ich nur ein Alert brauche.

      Hat jemand eine Idee? Wie das geht?

      Gruß
      Jan

      1. Guten Morgen

        Benutze onKeyUp als Event-Handler und vergleiche dann den string.

        Also so: <input type="text" value="" onKeyUp="string_vergleich_funktion(this.value)" />

        <script type="text/javascript">  
        function string_vergleich_funktion(input) {  
            // Vergleiche input mit .de  
        }  
        </script>
        

        Oder so ähnlich

        Gruß Sören

        1. Hi,

          danke für die Hilfe. Ich habe es nun so gelöst.

            
          <script language="JavaScript1.2">  
          function checkdomain() {  
          	var suffix=/\.(de|DE)$/ // regular expression  
          	if(document.myform.myinput.value.search(suffix)>0) {  
          		alert("yes, its a domain");  
          	}  
          }  
          </script>  
            
          <form name="myform">  
          <input type="text" onKeyUp="checkdomain()" name="myinput" size=15>  
          </form>  
          
          

          Statt des Alerts führe ich im Hintergrund eine Ajax-Abfrage aus.

          Gruß
          Jan

          1. danke für die Hilfe. Ich habe es nun so gelöst.

            Wo hast du diese Lösung her?

            <script language="JavaScript1.2">

            Das language Attribut wird seit ca. 12 Jahren nicht mehr verwendet, stattdessen wurde das Attribut type eingeführt. Ich kann mir nicht vorstellen, dass es noch eine halbwegs aktuelle Seite gibt, die dieses Attribut nutzt.

            function checkdomain() {
            var suffix=/.(de|DE)$/ // regular expression
            if(document.myform.myinput.value.search(suffix)>0) {
            alert("yes, its a domain");
            }
            }

            Die Funktion kannst du noch vereinfachen.

            <input type="text" onKeyUp="checkdomain(this.value)" name="myinput" size=15>

            function checkdomain(val) {  
                    var suffix=/\.de$/i; // regular expression ignore case  
                    if(suffix.test(val)) {  
                            alert("yes, its a domain");  
                    }  
            }
            

            Das matcht dann auch auf .dE oder .De

            Struppi.

            1. hi

              function checkdomain() {
              var suffix=/.(de|DE)$/ // regular expression
              if(document.myform.myinput.value.search(suffix)>0) {
              alert("yes, its a domain");
              }
              }

              hmmm, match aber auch schon bei www.de ...
              ich würde das lieber bei Submit testen wollen, nämlich dann, wenn die Eingabe abgeschlossen ist. OnKeyUp halte ich für problematisch in diesem Fall.

              bolle

              1. Hi,

                var suffix=/\.(de|DE)$/ // regular expression  
                

                hmmm, match aber auch schon bei www.de ...

                Wunderbar, dann erfüllt es ja deine Anforderung.

                ccTLD ist de, und second level domain ist www.

                Diese Domain ist übrigens gerade bei SEDO geparkt.

                MfG ChrisB

                --
                “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
                1. hi

                  ccTLD ist de, und second level domain ist www.

                  Diese Domain ist übrigens gerade bei SEDO geparkt.

                  match aber auch bei www.derdo.de
                  -------------------------|
                                         match!

                  Vorausgesetzt, er macht es mit KeyUp und dann irgendnen Ajax-Quatsch auslösen, der dann bei dem "r" wieder rückgängig gemacht wird.

      2. Zunächst einmal möchte ich einschränken, dass Du mit JavaScript natürlich nur die Elemente innerhalb Deiner Seite überwachen kannst, die Adresszeile eines Browsers gehört nicht dazu.

        Das Event, welches Dir weiterhilft, heißt onkeyup, die Keycodes, die Du in event.which abfragen musst, sind 190, 68 und 69. Der Einfachheit halber würde ich empfehlen, ein Toolkit wie jQuery zu verwenden, welches die Events recht elegant kapselt.

        Gruß, LX

        --
        RFC 1925, Satz 6a: Es ist immer möglich, einen weiteren Umweg einzufügen.
        RFC 1925, Satz 11a: Siehe Regel 6a