Ce que nous essayons de faire ici, c'est que nous avons un formulaire avec un identifiant de upgrade_form. Nous avons également un formulaire appelé "paypal_submit". Ce formulaire est vide. 'upgrade_form' a des champs de détails de facturation (adresse, nom, expiration etc.)La forme de jquery ne fonctionne pas dans IE
Nous avons alors un seul bouton de soumission, et la logique était qu'elle soumettrait le formulaire si un bouton radio de carte de crédit est coché, mais il affichera une lightbox nyromodal (http://nyromodal.nyrodev.com) lorsque vous choisissez le bouton radio paypal et cliquez sur soumettre.
- EDIT *
D'accord, nous avons complètement réorganisé l'ensemble du processus. Nous avons d'abord ajouté 2 champs cachés qui ne sont pas inclus dans le formulaire. Ces 2 champs contiennent des URL pour les cartes de crédit et paypal. Lorsque vous sélectionnez le bouton radio de la carte de crédit, vous obtenez l'url de la carte de crédit. Lorsque vous sélectionnez le bouton radio paypal, vous obtenez l'url paypal.
Lorsque vous cliquez sur le bouton radio, nous changeons l'action de la forme avec ceci:
$('#upgrade_form').attr('action', $('#credit-card-target-url').val())
(-url carte de crédit est le champ caché)
Alors, quand on clique sur le lien dans la lightbox nyromodal, nous appelons simplement
$('#upgrade_form').submit();
BUT! IL NE FONCTIONNE TOUJOURS EN AUCUNE IE. Toute aide à ce sujet? Nous sommes en train d'installer le débogueur de script IE suggéré, mais je suis pessimiste, nous ne verrons rien.
EDIT
Juste rejugé celui-ci. Nous avons sorti la lightbox, et l'autre code. Nous avons commencé avec une forme de base avec un lien qui lorsqu'il est pressé, appelle:
$('#upgrade_form').submit();
ne fonctionne toujours pas dans IE. Alors est-ce à cause du submit() de jquery?
D'accord, je googlé pour jquery submit ne fonctionne pas dans IE et trouvé ceci: jQuery form submit() is not working in IE6?
Mais j'ai vérifié notre code et notre bouton « Soumettre » est en fait un lien, et j'ai cherché docment généré et n'a trouvé aucune entrées nommées soumettre. Lorsque le lien est cliqué, j'ai ajouté une alerte pour vérifier si le formulaire existe (à cause du problème nodeName null) et j'obtiens l'alerte avec le formulaire html. Il s'arrête juste à soumettre.
ici est le code en ce moment:
$('#paypalbutton').click(function() {
alert($('form#upgrade_form').html());
$('form#upgrade_form').submit();
return true;
}
IE sur cette ligne stoppe en jquery:
nodeName: function(elem, name) {
return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
},
Quelle version de jQuery? IE interdit de changer le 'type' d'une entrée, c'est peut-être votre problème. –
Que faire si vous avez inséré une ligne 'alert (parameters.length);' juste avant votre instruction $ .each? Que révèle-t-il? – mkoistinen
le plus récent. J'ai refactorisé ceci pour ajouter de cette façon: $ ('# payment_form'). Append (''); mais il échoue toujours – corroded