2012-03-31 10 views
0

Ich habe hoch und niedrig suchen und ohne Lösung aufgetaucht.JQUERY: IE9 ignorieren PreventDefault

Ich möchte, dass meine Submit-Funktion die Aktion verarbeitet, wenn der Benutzer auf die Schaltfläche zum Senden klickt und die Standardaktion außer Kraft setzt.Firefox und Chrome funktionieren einwandfrei, aber in IE9 wird durch Klicken auf die Schaltfläche die Seite auf Standard gesetzt. aspx (Ich verwende ASP.NET und führe diesen Code auf localhost aus).

/////////////////Submit Function///////////// 
$('#ARBB').submit(function (event) { 
    //e.cancelBubble is supported by IE - this will kill the bubbling process. 
    event.cancelBubble = true; 
    event.returnValue = false; 

    //e.stopPropagation works only in Firefox. 
    if (event.stopPropagation) { 
     event.stopPropagation(); 
     event.preventDefault(); 
    } 

    // initialize validator for a bunch of input fields 
    var inputs = $("#Contact :input").validator(); 

    // perform validation programmatically 
    //inputs.data("validator").checkValidity(); 

    $('#conf').load("/Confirmation.aspx"); 

    $.blockUI({ css: { 
     border: 'none', 
     padding: '15px', 
     backgroundColor: '#000', 
     '-webkit-border-radius': '10px', 
     '-moz-border-radius': '10px', 
     opacity: .5, 
     color: '#fff' 
    } 
    }); 

    setTimeout($.unblockUI, 500); 

    $("#accordion").accordion("enable"); 
    $("#accordion").accordion("option", "active", 3); 
    $("#CheckMark3").fadeIn("fast"); 
    $('html, body').animate({ 
     scrollTop: $("#Section3").offset().top 
    }, 500); 

}); 
/////////////////////////////////////////// 

EDIT/UPDATE

IE9 den Fehler wirft, wenn die Last-Funktion aufgerufen wird.

$ ('# conf') Last ("/ Confirmation.aspx");

Der Fehler ist:

script5: Zugriff verweigert wird.

jquery-1.6.2.js, Linie 6244 Zeichen 2

+0

"//e.stopPropagation funktioniert nur in Firefox." Sag was? Ich weiß nicht, woher du deine Informationen bekommst, aber es ist falsch. – PeeHaa

Antwort

2

Die jQuery-Bibliothek nimmt bereits um den Browser-Unterschiede für Sie. Alles, was Sie alle verschiedenen Browsern zu handhaben müssen, ist:

event.preventDefault(); 
+0

@ Guffa..Ich habe das schon ausprobiert. IE9 übergibt das Formular und ignoriert event.preventDefault(); – user1265533

+0

Was ist mit 'event.returnValue = false' in IE9? –

+0

@ user1265533: Die Sie haben irgendwo irgendwo in Ihrem Code einen Fehler, der es von der Arbeit hält. Es ist der richtige Weg, es zu tun, und es auf andere Weise zu versuchen, wird es nicht besser machen. – Guffa

1

haben Sie am Ende des Verfahrens return false versucht Eingabe?

$('#ARBB').submit(function (event) { 
    //e.cancelBubble is supported by IE - this will kill the bubbling process. 
    event.cancelBubble = true; 
    event.returnValue = false; 

    //e.stopPropagation works only in Firefox. 
    if (event.stopPropagation) { 
     event.stopPropagation(); 
     event.preventDefault(); 
    } 

    // initialize validator for a bunch of input fields 
    var inputs = $("#Contact :input").validator(); 

    // perform validation programmatically 
    //inputs.data("validator").checkValidity(); 

    $('#conf').load("/Confirmation.aspx"); 

    $.blockUI({ css: { 
     border: 'none', 
     padding: '15px', 
     backgroundColor: '#000', 
     '-webkit-border-radius': '10px', 
     '-moz-border-radius': '10px', 
     opacity: .5, 
     color: '#fff' 
    } 
    }); 

    setTimeout($.unblockUI, 500); 

    $("#accordion").accordion("enable"); 
    $("#accordion").accordion("option", "active", 3); 
    $("#CheckMark3").fadeIn("fast"); 
    $('html, body').animate({ 
     scrollTop: $("#Section3").offset().top 
    }, 500); 
return false; 
}); 
+0

Dank bud.Kein Glück :( – user1265533

0

preventDefault() arbeiten nur für Feuer Fuchs und Chrom. versuchen thi Code:

if (event.preventDefault) { event.preventDefault(); } else { event.returnValue = false; } 

dieser Code überprüft, ob Browser preventDefault unterstützt verwendet es sonst zweiten Teil führt.

+0

Dank Knospe .. Kein Glück :( – user1265533

0

Anscheinend war das Problem mit etwas CSS-Code, der oben auf der Seite erscheint, die ich lade (Confirmation.aspx). Nach dem Löschen des CSS-Codes bekomme ich länger den Fehler Zugriff verweigert.

Verwandte Themen