2013-02-24 1 views
7

ich jQuery bin mit meiner Form Variablen zu unterbreiten, und im haben versucht, die Form zu verhindern, über die üblichen Wege von der Abgabe (oder drücken Sie auf eines der Felder eingeben klicken Sie auf Senden):Verhindern, dass Formular über event.preventDefault() übermittelt wird;</p> <p>ich dies nicht funktioniert

$('#form').submit(function(){ 
    event.preventDefault(); 
}); 

aber es scheint nicht, meine Form zu arbeiten, noch einreicht, auf die process.php Seite gehen ..

+1

Nicht sicher Wenn das immer noch ein Problem ist, aber ich hatte das und ich konnte es nicht beheben. Stellt sich heraus, ich hatte ein zweites Formular mit der gleichen ID ... Silly mich –

+2

der Grund, dass der obige Code nicht funktioniert, weil Sie nicht den Event-Parameter als Teil Ihrer Callback-Funktion() -Argument haben, sollte es Funktion sein (event) – Madhur

+0

Vielleicht verweisen Sie ein Formular, bevor es über DOM zugänglich ist. Setzen Sie den Code in den Onload-Callback und übergeben Sie das Event-Argument an den Callback für das Submit-Ereignis. –

Antwort

11

Wenn das einzige, was Sie tun müssen, ist die Standardaktion zu verhindern, können Sie false statt einer Funktion liefern:

$('#form').submit(false); 
+0

genial. so einfach. Vielen Dank! – BrownChiLD

8

versuchen return false statt event.preventDefault() oder event als Parameter Ihrer Funktion übernehmen.

$('#form').submit(function(event){ 
    event.preventDefault(); 
}); 
+11

Ab sofort funktionieren weder 'return false' noch' event.preventDefault() '. –

4

andere Weg ist:

$('#form').submit(function(){ 

    //some code here 

    return false; 
}); 
+0

Wenn es eine $ .ajax Anfrage in Funktion body retruning false funktioniert nicht. :( Jede andere Problemumgehung? – ravi1991

+1

@ ravi1991 nur 'return false' direkt nach' $ .ajax() ' –

Verwandte Themen