automatischer Alert wenn die Buchstaben .de eingetippt werden
Jan
- javascript
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
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
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
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
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
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.
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
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
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.
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