web-dev-qa-db-fra.com

Le bouton d'envoi ne fonctionne pas

J'ai un formulaire avec <input type="submit". En chrome, soumettre ne fait rien. Sur un "réseau" dans l'onglet dans les outils de développement, je ne vois rien. Aucune erreur dans les outils de développement non plus. En attendant, si je sauvegarde une page et ouvre une page enregistrée, puis, après avoir appuyé sur le bouton d'envoi, quelque chose apparaît dans l'onglet "Réseau". Cela se produit dans chrome et firefox. Cela fonctionne comme prévu dans IE. 

Quelqu'un at-il un recul, que dois-je regarder?

EDIT: Je n'ai pas besoin d'une réponse directe, j'ai juste besoin de savoir, où devrais-je regarder. Si quelqu'un poste une directive et que cela m'aide à résoudre mon problème, je l'accepterai comme une réponse correcte.

EDIT2: La structure d'une page ressemble à ceci:

html
    head
    body
        div
        div
            form
            form
            form
            form
            form
                input
                input
                table
                table
                    tbody
                        tr..td..input type=submit

EDIT3: Nous avons trouvé le problème, c’est que dans une page, il y avait un lien contenant href="#" et que, après avoir cliqué sur ce lien, submit s’est arrêté de fonctionner, car # a été ajouté à la fin de l’URL et action du formulaire était vide. URI récupéré à partir de l'URI actuel, qui contenait # au, donc au lieu de soumettre, le navigateur a sauté sur une page en cours.

12
dhblah

Si vous n'utilisez pas de code javascript/jquery pour la validation de formulaire, une présentation simple pour votre formulaire ressemblerait à ceci.

dans le corps de votre document html:

<form action="formHandler.php" name="yourForm" id="theForm" method="post">    
    <input type="text" name="fname" id="fname" />    
    <input type="submit" value="submit"/>
</form>

Vous devez vous assurer que vous avez le bouton d'envoi dans les balises de formulaire et qu'une action appropriée est attribuée. Tels que l'envoi dans un fichier php. 

Pour une réponse plus directe, indiquez le code avec lequel vous travaillez. 

Vous pouvez trouver ce qui suit d'utilisation: http://www.w3.org/TR/html401/interact/forms.html

13
lukeocom

Utilisez-vous HTML5? Si tel est le cas, vérifiez si vous avez un <input type="hidden"> dans votre formulaire avec la propriété required. Supprimez cette propriété required. Internet Explorer n'acceptera pas cette propriété, donc cela fonctionne, mais Chrome le fera. 

14
Jyothu

Vérifiez si vous utilisez une sorte de validation jquery/javascript sur la page, essayez de la désactiver et voyez ce qui se passe. Vous pouvez utiliser les outils de développement de votre navigateur pour voir si un fichier javascript avec validation ou validation est en cours de chargement. Vous pouvez également rechercher des éléments de formulaire masqués (c.-à-d. Un jeu de styles à afficher: aucun; ou quelque chose du genre) et vous assurer qu'aucune erreur de validation masquée ne concerne les éléments non restitués.

4
Dan Csharpster

J'ai rencontré ce problème aujourd'hui, et le problème était d'empêcher l'action par défaut d'événement dans document onclick:

document.onclick = function(e) {
    e.preventDefault();
}

Document onclick est généralement utilisé pour la délégation d'événements, mais il est erroné d'empêcher les événements par défaut. Vous devez le faire uniquement pour les éléments obligatoires:

document.onclick = function(e) {
    if (e.target instanceof HTMLAnchorElement) e.preventDefault();
}
3
Ali

Je suis tombé sur cela avec le code HTML d'un ami et dans son cas, il manquait des guillemets.

Par exemple:

<form action="formHandler.php" name="yourForm" id="theForm" method="post">    
<input type="text" name="fname" id="fname" style="width:90;font-size:10>     
<input type="submit" value="submit"/>
</form>

Dans cet exemple, une citation manquante sur le texte saisi fname rendra simplement le bouton d'envoi inutilisable et le formulaire ne sera pas soumis.

Bien sûr, c’est un mauvais exemple parce que je devrais utiliser CSS en premier lieu;) mais de toute façon, vérifiez tous vos guillemets simples et doubles pour vous assurer qu’ils se ferment correctement.

De plus, si vous avez des balises telles que center, déplacez-les hors du formulaire.

<form action="formHandler.php" name="yourForm" id="theForm" method="post">  
<center> <-- bad

Aussi étrange que cela puisse paraître, cela peut avoir un impact.

1
Adron

Bonjour du futur.

Pour plus de clarté, je voulais juste ajouter (car c'était assez haut dans google) - nous pouvons maintenant utiliser 

<button type="submit">Upload Stuff</button>

Et pour réinitialiser un formulaire

<button type="reset" value="Reset">Reset</button>

Bouton de sortie types

Nous pouvons également attacher des boutons pour soumettre des formulaires comme this :

<button type="submit" form="myform" value="Submit">Submit</button>

0
MattJHoughton