IE Ignoriert Return False, bei einem von 2 Forms

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

  • IE Ignoriert Return False, bei einem von 2 Forms

    Moin liebe Gemeinde,

    ich bin am verweifeln: Ich habe hier eine Seite mit 2 Formularen.
    Beide Formulare sind nahezu identisch. Diese Formular haben 3
    Pflichtfelder, die per JS gecheckt werden und dann entsprechend
    ein return false oder ein return true bekommen.

    Allerdings ist eins der Formularen der Meinung, das return false
    mal komplett zu ignorieren.

    Was ich bisher Probiert habe:
    - JS statt dynamisch für beide Forms, getrennt zu 1 Script für 1 Form
    - Formulare untereinander im HTML getauscht (ergo forms[0] und forms[1])
    - keine Validierung, einfach nur return false (wird komplett ignoriert)
    - statt onsubmit="return function();", per onclick event (auch sinnfrei)
    - das komplett JS mal mit try/catch und step-by-step alerts ausgestattet: alles läuft korrekt durch

    Ich gehe davon aus, das ich irgendwas kleines übersehe, nur ich weiß nicht was! Bitte um Hilfe!

    Grüße,
    Jon

    JS Form1
    HTML-Code:
    <script type="text/javascript">
    	var errorInfoColor = '#FEFFDA' ;
    	function checkForm1() {
    		
    		var debug = 1 ;
    		
    		if (debug == 1) { alert('Reset Marked Fields'); }
    		
    		try { document.getElementById('ansprechpartner1').style.background = 'none' ; } catch(err) { alert(err); } 
    		try { document.getElementById('telefon1').style.background = 'none' ; } catch(err) { alert(err); } 
    		try { document.getElementById('email1').style.background = 'none' ; } catch(err) { alert(err); } 
    		try { document.getElementById('formErrorMsg1').style.display = 'none' ; } catch(err) { alert(err); } 
    		
    		if (debug == 1) { alert('Starting Validation'); }
    		
    		var error = 0 ;
    
    		if (document.getElementById('ansprechpartner1').value == '') {
    			error++ ;
    			try { document.getElementById('ansprechpartner1').style.background = errorInfoColor ; } catch(err) { alert(err); } 
    		}
    		if (document.getElementById('telefon1').value == '') {
    			error++ ;
    			try { document.getElementById('telefon1').style.background = errorInfoColor ; } catch(err) { alert(err); } 
    		}
    		if (document.getElementById('email1').value == '') {
    			error++ ;
    			try { document.getElementById('email1').style.background = errorInfoColor ; } catch(err) { alert(err); } 
    		}
    		
    		if (debug == 1) { alert('Check if error appeared'); }
    		
    		if (error === 0) {
    			if (debug == 1) { alert('No Error, var error = ' + error); }
    			return true ; 
    		} else {
    			if (debug == 1) { alert('Errors Exsist, var error = ' + error); }
    			try { document.getElementById('formErrorMsg1').style.display = 'block' ; } catch(err) { alert(err); } 
    			return false ;
    		}
    	}
    </script>
    HTML Form1
    HTML-Code:
    <form method="post" id="form1" name="form1" action="#formular1" onSubmit="return checkForm1();">
    <p id="formErrorMsg1" style="display: none">
    <strong class="red">Bitte beachten Sie die Pflichtfelder!</strong>
    </p>
    <div class="col col-width-2 form form-width-2 form-horizontal">
    <input type="hidden" value="submit" name="submit" />
    <label class="input-radio">
    	<input name="kreis" type="checkbox" value="Kreis" 
    <% if Request("kreis") = "Infomaterial Kreis" then response.write("checked=""checked""") end if %> /> Kreis</label>
    <label class="input-radio">
    	<input name="broschuere_ptm" type="checkbox" value="Broschüre PTM" 
    	<% if Request("broschuere_ptm") = "Infomaterial Broschüre PTM" then 
    	response.write("checked=""checked""") end if %> /> Broschüre PTM</label>
    <label class="input-radio last">
    	<input name="referenzberichte_branchen" type="checkbox" value="Referenzberichte Branchen" 
    	<% if Request("referenzberichte_branchen") = "Infomaterial Referenzberichte Branchen" then 
    	response.write("checked=""checked""") end if %> /> Referenzberichte Branchen</label>
    <label class="input-text">Firma<input type="text" name="firma" value="<%=Request("firma")%>" /></label>                           
    <label class="input-text">Name, Vorname *
    	<input type="text" id="ansprechpartner1" name="ansprechpartner" value="<%=Request("ansprechpartner")%>" /></label>       
    <label class="input-text">Telefon *
    	<input type="text" id="telefon1" name="telefon" value="<%=Request("telefon")%>" /></label>                       
    <label class="input-text">E-Mail *
    	<input type="text" id="email1"  name="email" value="<%=Request("email")%>" /></label>              
    <label class="input-textarea">Bemerkungen
    	<textarea type="text" name="bemerkungen"><%=Request("bemerkungen")%></textarea></label>   
    <input type="image" class="input-image" src="/images/general/input/button_absenden_double_hr.gif" name="Absenden" value="Absenden" />
    </div> <!--/col-->
    <input type="hidden" name="action" value="submit.infomaterial" />
    </form>
    btw:
    gefailed auf ie: 6,7,8
    weiterverarbeitung/script sprach: ASP.net
    Zuletzt geändert von xJonx; 16.09.2010, 10:21.
    Design & Coding with a breeze of madness at xjonx

  • #2
    Bitte sofort den Code umbrechen. Kein Mensch scrollt gerne kilometerweit nach rechts.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      OH JA! Auch eben gesehen das es etwas ausartet.
      Aber so sollte jeder Normaluser klar kommen ^^
      Design & Coding with a breeze of madness at xjonx

      Kommentar


      • #4
        Hallo,

        kannst du bitte, wenn du den Code schon nicht umbrichst, wenigstens die Einrückungen gleichmäßig verkleinern?

        Kannst du mit Gewissheit sagen, dass die Check-Funktion aufgerufen wird?

        Hast du mal versucht, einen normalen <input type="submit" ...>-Button zu benutzen? Geht es dann?

        Gruß,

        Amica
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Hab doch schon längst umgebrochen

          wie beschrieben: auch die alerts laufen korrekt durch.
          auch werden die leeren felder markiert. aber dann dennoch nen reload.

          das mit den submit hab ich gerade gemacht: keine änderung
          Design & Coding with a breeze of madness at xjonx

          Kommentar


          • #6
            Hast du das auch als Online-Beispiel zum direkt ausprobieren?

            Das Attribut heißt übrigens offiziell onsubmit (alles klein), aber ich bezweifle, dass das daran liegt.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              ich schau mal das ich es irgendwo hochpacke,
              da es derzeit nur per VPN zu erreichen ist.
              Design & Coding with a breeze of madness at xjonx

              Kommentar


              • #8
                So, ich entschuldige mich für den Auswand.

                Aber mein lieber Herr Kollege war der Meinung für "kleine Standardforms" noch einen jQuery Validator einzubauen, der aber nicht im Scrpt, sondern nur in einer JS File steckt.

                Und dummerweise hört dieses Script auf die selbe ID wie mein form1.
                Wir haben dem jQuery Vali jetzt auf eine eindeutige ID gesetzt und somit den unscheinbaren Konflikt gelöst.
                Design & Coding with a breeze of madness at xjonx

                Kommentar

                Lädt...
                X