2009-06-25 3 views
4

Я столкнулся с странной ошибкой IE. Похоже, что при создании радиовходов с document.createElement результирующие виджеты не реагируют на клики. Они сеют на секунду, когда вы нажимаете на них, но они не проверяются. Он работает так, как ожидалось, в FF3, но не в IE7. Любая идея, что с этим связано?Динамически создаваемые радиовходы не проверяются в IE7

<html> 
<body> 
<form> 
<div id="foo"> 
</div> 
</form> 

<script> 
var foo = document.getElementById('foo'); 

var t = document.createElement('input'); 
t.type='radio'; 
t.name ='fool'; 

var f = document.createElement('input'); 
f.type='radio'; 
f.name ='fool'; 

foo.appendChild(t); 
foo.appendChild(f); 

</script> 
</body> 
</html> 
+0

дубликата http://stackoverflow.com/questions/118693/how-do-you-dynamically- Create-A-радио-кнопка-в-Javascript-что-работа-в-все-чело/119079 –

ответ

6

По какой-то причине создание радио-кнопок, подобных этому в IE, не работает.

Решение, которое, кажется, работает (в соответствии со статьей нашли here) это делать:

var r; 
try { 
    // This works in IE 
    r = document.createElement('<input type="radio" name="foo1"/>'); 
} catch(err) { 
    // For everyone else 
    r = document.createElement('input'); 
} 
r.setAttribute('type', 'radio'); 
r.setAttribute('name', 'foo1'); 
Смежные вопросы