J'ai un problème avec certains javascript que j'ai écrit qui ne fonctionne que par intermittence. Je ne connais pas grand-chose sur la façon dont les choses fonctionnent dans le DOM mais je soupçonne que le JS que j'ai écrit essaie d'accéder à un élément dans le DOM avant qu'il n'existe. J'ai écrit le JS pour l'ajouter à un formulaire de montage. Je n'ai pas accès au code réel dans le formulaire pour y apporter des modifications, je ne peux que faire des changements JS.Problème Javascript - intermittent ne peut pas trouver l'élément en utilisant getElementById
Voici le lien vers le formulaire http://www.tfaforms.com/186347
et c'est le javascript que j'utilise sur le document charge
window.onload=function() {
document.getElementById("submit-").style.visibility = "hidden";
document.getElementById("wfPageNextId1").value="Calculate";
document.getElementById('wfPageNextId1').setAttribute('onclick', 'Calculate2011()')
}
Je reçois des erreurs disant que wfPageNextId1 est nulle et setAttribute ne peut pas être appelé.
Toute aide serait grandement appréciée. Merci d'avance.
cela me semble logique. Il est en train de changer l'étiquette sur le bouton de calcul et de masquer le bouton de soumission mais il ne fait pas les calculs, pas dans IE de toute façon, mais c'est dans crome. D'autres suggestions. Je ne suis pas sûr de ce que vous voulez dire à propos d'autres window.onloads? – Kaskade
semble également fonctionner dans Firefox mais pas IE8. Il n'y a pas d'erreurs javascript sur la page, donc je ne sais pas quel est le problème et pourquoi il ne va pas dans la fonction Calculate2011. Je mets une alerte dans la fonction et il n'est pas affiché dans IE mais il est dans FF et Crome – Kaskade
J'ai ajouté un exemple d'une définition «sûr» 'onload'. Techniquement, vous devriez probablement tester le type de 'onload' actuel. – Ishmael