2010-12-06 9 views
0

Ich baue eine App mit Django und jQuery. In einigen Formen im HTML mache ich AJAX-Aufrufe nur mit jQuery, also lege ich das Formular mit action = "#" method = "" und habe.Safari Chrome Form ohne Aktion funktioniert nicht

Wenn ich die Absenden-Taste in FF drücken, funktioniert es gut, nichts wird neu geladen und der Ajax-Anruf wird gemacht. In Chrome und Safari wird die Seite jedoch erneut geladen und erneut vom Server angefordert.

Irgendwelche Hinweise?

Antwort

-1

Was passiert, wenn Aktion und Methode auslassen? Sie sollten diese sowieso nicht benötigen, wenn Sie mit einem Ajax-Aufruf einreichen.

0

So weit wie möglich versuchen Webkit und Opera dem HTML5-Entwurf zu folgen. Derzeit besagt die form submission section, dass Aktionen, die mit HTTP (S) beginnen, selbst wenn die action="#" oder action="", eine Navigation verursachen, die eine neue Seite laden sollte, wenn die neuen GET-Parameter hinzugefügt werden. Wenn Sie verhindern möchten, dass die Seite neu geladen wird, müssen Sie einen Übergabe-Handler hinzufügen, der die Standardaktion verhindert, indem er false zurückgibt oder e.preventDefault() sagt.