La désactivation de la touche avec javascript: FF vs IE
J'ai une rangée de boutons, qui tous créer un fichier pdf que je veux ouvrir dans un nouvel onglet.
De cette façon, le bouton de la page reste en haut, et le pdf est ouvert à être imprimé. Pour éviter de cliquer sur un bouton deux fois, j'ai désactiver le bouton, comme ceci (j'utilise python):
<input type='submit' value='Factureren' name='submitbutton' id='%s'
onclick="javascript:document.getElementById('%s').disabled=true;
document.getElementById('%s').className='button_disabled';"> % ((but_id,) *3)
Dans FF3 cela fonctionne bien, c'est à dire de la soumission du formulaire, le script exécuté, puis sur le bouton désactive. Dans IE le bouton juste désactive, mais le script n'est pas exécuté.
Est-il une solution à ce problème IE?
OriginalL'auteur user37986 | 2008-11-28
Vous devez vous connecter pour publier un commentaire.
C'est facile: une désactivé bouton soumettre de ne pas soumettre un formulaire dans IE. Envisagez de restructurer votre code:
OriginalL'auteur Eugene Lazutkin
Il est plus facile de le faire:
Je ne sais pas si cela résout votre problème, mais c'est ce que je ferais dans un cas comme celui-ci. Je pense que vous n'avez pas besoin de "javascript:" de toute façon.
"javascript" n'est même pas un protocole, c'est un pseudo protocole.
OriginalL'auteur netadictos
Vous pouvez essayer d'utiliser un bouton normal et le déclenchement de la forme submit() en fonction dans l'événement onclick:
OriginalL'auteur CMS
Peut-être essayer de joindre le gestionnaire de l'événement onsubmit du formulaire au lieu de cliquer sur le bouton? Ce serait aussi travailler alors si l'utilisateur appuie sur ENTRÉE au lieu de cliquer sur votre bouton.
OriginalL'auteur Vilx-
Au lieu de contrôler la div, pourquoi ne pas contrôler réellement bouton soumettre? Cela fonctionne universellement dans tous les navigateurs que j'ai testé (IE6+ FF1+ et Safari)
Puis sur le bouton tout ce que vous avez à composer est le
OriginalL'auteur Stepan Mazurov
Vous pouvez utiliser ce au lieu de document.getElementById('%s'). Aussi, vous avez besoin de retourner vrai pour l'événement onclick de passer.
Vous pouvez également désactiver le bouton dans le onsubmit gestionnaire pour la forme. C'est sans doute plus infaillible.
Aussi, ça serait bien si vous n'utilisez pas de classe en particulier pour un bouton désactivé. Les sélecteurs CSS sont conçus pour sélectionner les boutons pour vous.
OriginalL'auteur strager
Oeil à cette partie:
Le "javascript:" est inutile et mauvais.
"javascript:" l'URL "protocole" utilisé dans les liens, pas de onclick actions.
En outre, essayez de dire le formulaire pour soumettre. Je pense cela serait correct:
OriginalL'auteur Ivan Vučica
onclick="this.disabled='désactivé'; ce.forme.submit();" fonctionne parfaitement pour moi
OriginalL'auteur gavtaylor