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.
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
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.
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.
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();
}
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.
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>