2010-07-26 6 views
0

Je suis coincé essayer d'obtenir le javascript suivant pour travailler dans IE:Pourquoi someInputElement.type = 'button'; échouer dans IE?

var lastMonthBn = document.createElement('input'); 
td.appendChild(lastMonthBn); 
lastMonthBn.value='<'; 
lastMonthBn.type = 'button'; // Fails in IE 
lastMonthBn.setAttribute('type','button'); // Also fails in IE 

Pour une raison quelconque, je ne peux pas régler l'entrée sur un bouton, il échoue. Fonctionne en chrome et firefox. Donc je suis un peu confus et n'ai pas eu de chance d'essayer de le faire fonctionner. Je l'ai isolé à ces lignes en utilisant les alertes().

Merci beaucoup

Répondre

3

Pour IE, vous devez d'abord configurer le bouton avant de l'ajouter au document. I.e .:

var lastMonthBn = document.createElement('input'); 
lastMonthBn.value='<'; 
lastMonthBn.type = 'button'; 

td.appendChild(lastMonthBn); // put this last 
+0

Je pense aussi que j'ai besoin de définir le type avant de définir la valeur. – Chris

1

Serait-ce la raison? De: http://msdn.microsoft.com/en-us/library/ms536389(v=VS.85).aspx

Vous devez effectuer une deuxième étape lorsque vous utilisez createElement pour créer l'élément d'entrée. La méthode createElement génère une zone de texte de saisie, car il s'agit de la propriété de type par défaut. Pour insérer tout autre type d'élément d'entrée, appelez d'abord createElement pour l'entrée , puis définissez la propriété type sur la valeur appropriée dans la ligne de code suivante.