DEPRECATED - Dieser Teil ist veraltet, verwenden Sie ihn also nicht.
Sie können diesen Code auch ausprobieren, wenn Sie beispielsweise später dynamische Formulare hinzugefügt haben. Sie haben beispielsweise ein asynchrones Fenster mit Ajax geladen und möchten dieses Formular senden.
$('#cpa-form').live('submit' ,function(e){
e.preventDefault();
// do something
});
UPDATE - Sie sollten die Methode jQuery on () verwenden und versuchen, das Dokument-DOM anzuhören, wenn Sie dynamisch hinzugefügten Inhalt verarbeiten möchten.
Fall 1, statische Version: Wenn Sie nur wenige Listener haben und Ihr zu handhabendes Formular fest codiert ist, können Sie direkt auf "Dokumentebene" abhören. Ich würde die Listener nicht auf Dokumentebene verwenden, aber ich würde versuchen, tiefer in den Doom Tree einzusteigen, da dies zu Leistungsproblemen führen könnte (abhängig von der Größe Ihrer Website und Ihrem Inhalt).
$('form#formToHandle').on('submit'...
ODER
$('form#formToHandle').submit(function(e) {
e.preventDefault();
// do something
});
Fall 2, dynamische Version: Wenn Sie das Dokument bereits in Ihrem Code anhören, ist dieser Weg gut für Sie. Dies funktioniert auch für Code, der später über DOM oder dynamisch mit AJAX hinzugefügt wurde.
$(document).on('submit','form#formToHandle',function(){
// do something like e.preventDefault();
});
ODER
$(document).ready(function() {
console.log( "Ready, Document loaded!" );
// all your other code listening to the document to load
$("#formToHandle").on("submit", function(){
// do something
})
});
ODER
$(function() { // <- this is shorthand version
console.log( "Ready, Document loaded!" );
// all your other code listening to the document to load
$("#formToHandle").on("submit", function(){
// do something
})
});
alert()
im Submit-Handler sind, wird es aufgerufen? Wenn nicht, liegt möglicherweise ein Fehler in Ihrem Skript vor, der verhindert, dass der Ereignishandler korrekt verkabelt wird. Irgendwas in der Fehlerkonsole?