ich möchte das in einer checkbox automatisch ein häckchen gesetzt wird wenn man in einem input feld ein gültigen string eingibt.
dieser gültiger string soll einmal ein datum sein, einmal eine e-mail Adresse!
sprich es sind 2 checkboxen vorhanden und 2 input felder.
ich hoffe ihr könnt mir weiterhelfen!
checkbox erst bei eingabe aktivieren
-
-
ich denke mal mit javascript ist das zu machen....!?
-
Ich hab da mal was geschrieben.
Als Jahreszahlen ist alles zwischen 1800 - 2200 möglich..wenn das ausreicht.HTML
Alles anzeigen<html> <script type="text/javascript" language="javascript"> <!-- function superviseDate(date) { var numbers1 = date.slice(0,2); var numbers2 = date.slice(3,5); var numbers3 = date.slice(6,10); var numbers = numbers1.concat(numbers2.concat(numbers3)) if (isFinite(numbers) && numbers > 0 && date.charAt(2) == "." && date.charAt(5) == "." && date.length == 10) { if (numbers1 >= 1 && numbers1 <= 31 && numbers2 >= 1 && numbers2 <= 12 && numbers3 >= 1800 && numbers3 <= 2200) { document.getElementsByName("Kontrollfeld")[0].checked = true; } } else { document.getElementsByName("Kontrollfeld")[0].checked = false; } } function superviseEmail(email) { var check1 = email.indexOf("@",1); var check2 = email.lastIndexOf("."); if (check1 != -1 && check2 != -1 && check2 > check1 + 1 && check2 + 1 < email.length) { document.getElementsByName("Kontrollfeld")[1].checked = true; } else { document.getElementsByName("Kontrollfeld")[1].checked = false; } } //--> </script> <body> </body> <input type="checkbox" name="Kontrollfeld"> <input type="text" onKeyup="superviseDate(this.value)"> </p> <input type="checkbox" name="Kontrollfeld"> <input type="text" onKeyup="superviseEmail(this.value)"> </p> </html>
-
vielen vielen dank!
-
gibt es auch ne möglichkeit, das solange die Eingabe falsch ist, sich das Häkchen garnicht erst machen lässt?
Ich hoffe ihr könnt mir wieder helfen!
DAnke! -
HTML
Alles anzeigen<html> <script type="text/javascript" language="javascript"> <!-- function superviseDate(date) { var numbers1 = date.slice(0,2); var numbers2 = date.slice(3,5); var numbers3 = date.slice(6,10); var numbers = numbers1.concat(numbers2.concat(numbers3)) if (isFinite(numbers) && numbers > 0 && date.charAt(2) == "." && date.charAt(5) == "." && date.length == 10) { if (numbers1 >= 1 && numbers1 <= 31 && numbers2 >= 1 && numbers2 <= 12 && numbers3 >= 1800 && numbers3 <= 2200) { document.getElementsByName("Kontrollfeld")[0].checked = true; document.getElementsByName("Kontrollfeld")[0].disabled = false; } } else { document.getElementsByName("Kontrollfeld")[0].checked = false; document.getElementsByName("Kontrollfeld")[0].disabled = true; } } function superviseEmail(email) { var check1 = email.indexOf("@",1); var check2 = email.lastIndexOf("."); if (check1 != -1 && check2 != -1 && check2 > check1 + 1 && check2 + 1 < email.length) { document.getElementsByName("Kontrollfeld")[1].checked = true; document.getElementsByName("Kontrollfeld")[1].disabled = false; } else { document.getElementsByName("Kontrollfeld")[1].checked = false; document.getElementsByName("Kontrollfeld")[1].disabled = true; } } //--> </script> <body> </body> <input type="checkbox" name="Kontrollfeld" disabled="true"> <input type="text" onKeyup="superviseDate(this.value)"> </p> <input type="checkbox" name="Kontrollfeld" disabled="true"> <input type="text" onKeyup="superviseEmail(this.value)"> </p> </html>
Jo, wenn dann nur mit dem Attribut disabled.
Mir is aber grad aufgefallen das der IE-Explorer ab dem SP 2
das Script nicht ausführt, bzw. erstmal blockt.
Keine Ahnung warum.