Anzeige

[Javascript] Formular Eingabe prüfen - Internet Explorer Fehler

[Javascript] Formular Eingabe prüfen - Internet Explorer Fehler | PSD-Tutorials.de

Erstellt von ddjjmm, 10.02.2012.

  1. ddjjmm

    ddjjmm Nicht mehr ganz neu hier

    Dabei seit:
    23.10.2010
    Beiträge:
    72
    Geschlecht:
    männlich
    [Javascript] Formular Eingabe prüfen - Internet Explorer Fehler
    Habe folgende Abfrage die vor dem Abschicken meines Kontaktformulars ausgeführt wird:

    PHP:
    1.         if (document.formular.first_name.value == "") {
    2.             alert("Bitte geben Sie Ihren Vornamen an.");
    3.             document.formular.first_name.focus();
    4.         return false;
    5.         }
    In allen Browsern funktioniert die Prüfung, lediglich im IE wird das Formular auch ohne Eingabe abgeschickt. Idee?

    Mir ist bewusst, dass eine ordentliche Eingabeprüfung nicht mit Javascript ablaufen sollte ;)
     
    #1      
  2. mindraper

    mindraper me[code].Java(Script)

    Dabei seit:
    12.08.2007
    Beiträge:
    213
    Geschlecht:
    männlich
    Ort:
    Zuhause
    Software:
    Adobe CS5 (PS/I/ID/Bridge/FL), Sublime Text 2, NetBeans, Blender, Pencil
    [Javascript] Formular Eingabe prüfen - Internet Explorer Fehler
    AW: [Javascript] Formular Eingabe prüfen - Internet Explorer Fehler

    hi.

    angenommen, das hier ist dein formular:
    HTML:
    1.  
    2. <form name="formular" action="http://www.google.de" method="post" enctype="application/x-www-form-urlencoded">
    3.     <input type="text" name="first_name">
    4.     <input type="submit" name="submitter" value="clickMe2Submit">
    5. </form>
    6.  
    dann kannst du das hier nutzen:
    PHP:
    1.  
    2. window.onload = function(){    
    3.     var myForm= document.getElementsByName( 'formular' )[0];
    4.    
    5.     // cancels the standardbehaviour of your browser, either by calling
    6.     // e.preventDefault() or by setting the returnValue to false ( IE )
    7.     var prevDef = function( e ){
    8.         var evt;
    9.         if( !e ){
    10.             evt = window.event;
    11.             evt.cancelBubble = true;
    12.             evt.returnValue = false;
    13.         } else {
    14.             e.preventDefault();
    15.             e.stopPropagation();
    16.         }
    17.     };
    18.    
    19.     var checkBeforeSubmit = function( e ){        
    20.         var elem2Check;
    21.  
    22.         elem2Check = document.getElementsByName( 'first_name' )[0];
    23.        
    24.         if( elem2Check.value === '' ){
    25.             elem2Check.style.backgroundColor = '#cc0000';
    26.             elem2Check.focus();
    27.             prevDef( e );
    28.         }
    29.     }
    30.    
    31.     myForm.onsubmit = checkBeforeSubmit;  
    32. }
    33.  
    "prevDef" ist unsere eigene implementierung von event.preventDefault() für browser, die es nicht kennen ( nur noch IE < 9 ). wann immer du ein standardevent abbrechen willst, musst du nur "prevDev()" aufrufen.

    getestet in IE 7 - 9, FF, O, Safari, Chrome.

    hoffe das hilft
     
    Zuletzt bearbeitet: 10.02.2012
    #2      
  3. ddjjmm

    ddjjmm Nicht mehr ganz neu hier

    Dabei seit:
    23.10.2010
    Beiträge:
    72
    Geschlecht:
    männlich
    [Javascript] Formular Eingabe prüfen - Internet Explorer Fehler
    AW: [Javascript] Formular Eingabe prüfen - Internet Explorer Fehler

    Danke für deinen Tipp!
     
    #3      
x
×
×