Ankündigung

Einklappen
Keine Ankündigung bisher.

input feld focusieren

Einklappen

Neue Werbung 2019

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

  • input feld focusieren

    hallo,

    ich habe für eine größere sache ein kleines testscript zusammengeschrieben.
    das ganze soll wie folgt funktionieren:

    wenn man per maus oder per tab-taste das Feld 2 verläßt wird auf ein engl.Datum geprüft. (prüfung noch bissl buggy aber geht!).
    sollte die Prüfung negativ ausfallen soll das Feld 2 gelscht werden und der Cursor wieder in das Feld gesetzt werden.
    Löschen geht, aber focus nicht.

    Kann mir jemand weiterhelfen wieso?

    hier der quellcode:

    PHP-Code:
    Feld 3: <input id="date3" type="text" name="date3" value=""  tabindex="1" /><br>
    Feld 1: <input id="date" type="text" name="date" value="2001-11-11" onchange="test();" /><br>
    Feld 2: <input id="date2" type="text" name="date2" value=""  /><br>



    <
    script language="javascript">
    document.getElementById("date").focus();


    function 
    test() {
        var 
    wert document.getElementById('date').value;
        var 
    www string2date(wert);
        if (
    www == false) {
            
    document.getElementById("date").focus();
            
    alert(document.getElementById("date").value);
        } else {
            
    alert('true');
        }
    }

    function 
    string2date(string) {
        if(!
    string) return null;
        
    string += '';
        
    string string.replace(/[.\/]/g'-'); // Trennzeichen normalisieren
        
    string string.replace(/[^0-9-: ]/g''); // ungültige Zeichen entfernen
        
    string string.replace(/ +/g' '); // doppelte Leerzeichen entfernen
        
        
    var uhr string.split(" "); // Uhrzeit abtrennen
        
    var split uhr[0].split("-");
        
        var 
    year parseInt(split[0], 10);
        var 
    month parseInt(split[1] || 010);
        var 
    day parseInt(split[2] || 010);
        
        if(
    isNaN(year)) year getFullYear();
     
        var 
    check = new Date(yearmonth 1day);
        if(
    uhr[1]) {
             var 
    uhr uhr[1].split(':');
             
    check.setHoursuhr[0] || );
             
    check.setMinutesuhr[1] || );
             
    check.setSecondsuhr[2] || );
        }

        var 
    day2 check.getDate();
        var 
    year2 getFullYear(check);
        var 
    month2 check.getMonth() + 1;

        return ( 
    year2 == year && month == month2 && day == day2 ) ? true  false;
    }

    function 
    getFullYear(date){
        if(!
    datedate = new Date();
        if(
    typeof date.getFullYear != 'undefined') return date.getFullYear();
        var 
    year date.getYear();
        if(
    year 1000year += 2000;
        return 
    year;
    }

    </script> 


  • #2
    Hi.

    Let me google that for you

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      he ich weiß wie man google bedient!
      und da steht auch die lösung!

      siehe:

      PHP-Code:
      <script language="javascript">
      document.getElementById("date").focus();
      ... 
      mein problem ist aber ein anderes...
      ich verlasse ein feld mit der tab taste..
      dann wird das datum geprüft..
      und wenn es negativ ist, soll der cursor wieder ins feld springen.
      er feht aber ins feld 3

      und das versteh ich nicht! wieso?

      Kommentar


      • #4
        Ich würd das sowiso lassen. Wenn ich als Nutzer auf ein Form stoße, das mich störrisch in ein Feld zwingt, gebe ich schnell mal ne neue URL in die Adresszeile ein. Usablility ja, Nutzerzwang nein.
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          danke für die konstruktive Kritik, aber darum geht es nicht...
          das Ganze soll schon so funktionieren. leider tut es das nicht.

          und die Frage ist wieso...!?!?!

          wäre nett wenn mir da mal jemand Auskunft geben könnte.

          Kommentar

          Lädt...
          X