IE11-ne Soumettre que des Bug
J'ai un formulaire sur une page, quelque chose de simple comme:
<form action="form/submit" method="post">
<button type="submit">Submit</button>
</form>
Il fonctionne dans chaque navigateur, y compris les anciennes versions d'IE, MAIS dans IE11, il échoue avec l'onglet coincé dans un chargement continu en boucle, ne jamais changer la page "merci" après la présentation. CEPENDANT, si j'ouvre la console, il NE fonctionne pas.
Je suis conscient de la console.problèmes avec le journal de l'IE a, et le suis déjà à l'aide de:
if (!window.console) {
console = {
log: function() {}
};
}
pour l'éviter, ce qui semble être de faire amende (comme mentionné, tous les autres IE fonctionne). Aucune indication de l'endroit où le problème pourrait se situer?
- Êtes-vous à l'aide de JavaScript pour le
onsubmit
événement? Ou est-ce juste une forme "normale"? - Êtes-vous sûr que le mode de compatibilité est
off
? Parfois, lors de l'ouverture de la Console Développeur IE modifie la page s'affiche et fonctionne. console
a plus de fonctions que justelog
, selon votre navigateur. Vous êtes peut-être frapper une Erreur quelque part?- il est utilisé.
- Je le vois courir à Bord (mode de document), vous ne savez pas si il y a d'autres options de compatibilité?
- C'est que pour déclencher la soumission ou de la lier à la
onsubmit
événement? Pouvez-vous montrer que le code JavaScript? Il peut être utile. - le journal est le seul utilisé dans le JS
- Malheureusement, je ne pense pas que je peux partager ce code, mais il n'y a pas onsubmit dans le JS, je vois un "try $.post" (avec .fait/.l'échec et une prise), bien que, ne fait que donner assez de perspicacité pour le soumettre processus?
- Alors... vous n'avez pas écrit ce code, alors? Où est le
$.post
? C'est qu'à l'intérieur d'un$("form").submit(function(){
(ou.on('submit', function(){
)? - -1 pour ne pas poster le code qui peut reproduire le problème. Même si vous ne pouvez pas poster votre code, vous devriez être en mesure de poster un lien vers un violon qui peut reproduire le problème.
Vous devez vous connecter pour publier un commentaire.
Le problème apparaît lorsqu'un formulaire n'est saisie d'éléments sans
name
attribut (ou pas d'éléments d'entrée). J'ai trouvé une référence pour le bug ici, mais il se passe aussi en mode bureau et pas seulement de métro mode comme le lien revendications:http://connect.microsoft.com/IE/feedback/details/807447/ie-11-metro-version-submitting-form-fails-if-input-tag-has-no-name-attribute
La solution est de créer un mannequin
<input type="hidden" name="dummy" value="something">
champ (avec un nom et une valeur définie) avant de soumettre le formulaire.Le bug se produit dans tous les modes de compatibilité offerts par IE11.
Je viens de passer beaucoup trop de temps sur ce bug. Le fou de la partie est, IE11 permettre la soumission du formulaire si vous avez les outils de dev (f12) ouvert. C'est ce que j'ai mis avant de mon bouton submit:
C'est un bug dans IE11. Vous pouvez le réparer si vous ajoutez un attribut de nom pour le bouton, comme:
Un formulaire sans nommée élément entraînera dans une boucle infinie sur "soumettre" sur IE11 + W8.1. Pour corriger cela, il suffit d'ajouter un attribut nom le bouton:
Ce n'est pas directement liée à l'OP de la question, mais est un IE-seulement la soumission d'un formulaire question:
S'il vous arrive d'ensemble
form.prop('disabled', true)
au cours de l'événement submit, d'autres navigateurs va encore envoyer les données du formulaire, mais IE n' - il vous envoyer un vide du corps de la requête.Pour moi, j'ai dû vider les champs cachés qui ont été marqués comme requis. Assez stupide, mais c'était la solution qui a fonctionné pour moi.
Pour IE11, il y a :
De vérifier si l'événement.preventDefault existe prévenir une éventuelle erreur :
Votre problème est causé par un problème avec .net 4 sur le côté serveur.
Veuillez lire ceci: 'WebForm_DoPostBackWithOptions" n'est pas défini dans IE11 Aperçu
Vous pouvez activer votre IE des fonctions de débogage et d'essayer de soumettre, vous pouvez voir le message d'erreur: WebForm_DoPostBackWithOptions
Je fixe un semblable soumettre problème pour IE11 par ce patch:
http://support.microsoft.com/kb/2836939