JQuery ne présente aucun formulaire

J'ai le code HTML suivant:

<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>IT-Services Umfrage - Fragen</title> <link rel="stylesheet" type="text/css" href="/IT/umfrage/../../style.css" /> <link rel="stylesheet" type="text/css" href="/IT/umfrage/css/umfrage.css" /> <script type="text/javascript" src="/IT/umfrage/../../inc/jquery-1.4.2.js"></script> <script type="text/javascript" src="/IT/umfrage/js/umfrage.js"></script> </head> <body id="page-show"> <div class="ueberschriftsbalken"><span>IT-Services Umfrage - Fragen</span></div> <br /> <div id="content"> <form action="/IT/umfrage/Umfrage/save" method="post" id="umfrageForm"> <div class="frage radio"> <p>1. Wie professionell empfinden Sie das Auftreten der IT-Service Anlaufstelle?</p> <label for="frage1_1"><input type="radio" name="frage1" id="frage1_1" value="1" /> Lausig</label><br /> <label for="frage1_2"><input type="radio" name="frage1" id="frage1_2" value="2" /> Schwach</label><br /> <label for="frage1_3"><input type="radio" name="frage1" id="frage1_3" value="3" /> Durchschnittlich</label><br /> <label for="frage1_4"><input type="radio" name="frage1" id="frage1_4" value="4" /> Gut</label><br /> <label for="frage1_5"><input type="radio" name="frage1" id="frage1_5" value="5" /> Hervorragend</label> </div> <input type="submit" value="Antworten absenden" name="submit" id="submitbutton" /> </form> </div> </body> </html> 

Lorsque vous cliquez sur le bouton soumettre ou lorsque vous appuyez sur la touche Entrée, le formulaire est soumis. Mais quand j'essaie $('#umfrageForm').submit() , $('form').submit() ou quelque chose de similaire, rien ne se passe. Dans Firebug, la fonction renvoie le chemin DOM à l'élément de formulaire.

Quel pourrait être le problème qui empêche la présentation du formulaire?

Vous avez un champ nommé submit , cela clobbers la méthode de submit du formulaire (avec une référence au noeud DOM pour le champ) que jQuery dépend de sa propre méthode de submit .

Renommez-le.

Je pense que vous lancez l'événement de soumission avant que le DOM ne soit effectivement chargé, car si je l'essaye, ce code fonctionne:

 $(document).ready(function(){ // Submit handler, to prove everything works fine $('#umfrageForm').submit(function(){ alert('hi'); return false; }); // Fire the submit event $('#umfrageForm').submit(); // alerts 'hi' }); 

Voir: jsFiddle

Oui, lorsque vous avez des éléments de saisie avec le nom "submit", vous trouverez le $ ('# formID'). Submit () pour ne pas se comporter comme prévu. Remplacez simplement le nom du champ de saisie (peut-être le bouton de soumission) à quelque chose de plus pertinent.

Je sais que ce post est ancien, j'ai eu le même problème pour moi et j'ai pensé que je devrais publier mes résultats.

J'ai déjà eu un problème similaire. Votre code devrait fonctionner si vous incluez le fichier de script Java tel que vous l'indiquez. Cependant, je soupçonne que votre code fait partie d'un plus grand document html. Le problème se pose lorsque vous téléchargez la partie du corps de votre document html dans un autre document html sans inclure les fonctions de script Java dans le sous-document (puisqu'ils sont inclus dans le document parent). Ensuite, cela ne fonctionnera pas. Vous devez inclure le fichier script Java également dans le sous-document.