value для элемента массива
for (n=0; n<10; n++) {
a[n] = document.createElement('input');
a[n].onclick = 't = event.target; t.value = "X"';
document.getElementById('mytable').appendChild(a[n]);
}
При клике ничего не происходит. Как правильно написать событие? |
a[n].onclick = function(){
t = event.target;
t.value = "X"';
}
События пишутся вот так |
Sweet,
от этого ничего не меняется |
a[n].onclick = function ( e ) {
(e || window.event)[-[1,] ? 'target' : 'srcElement'].value = 'X';
};
Кстати, (e || window.event)[-[1,] ? 'target' : 'srcElement'] можно заменить на this. |
Цитата:
Цитата:
|
Sweet,
ну ты ведь тоже написал с target :) exec, спасибо)) Незнаю почему, но функция почему-то действует только на последний ряд.
for (n=0; n<(rows*cols); n++) {
a[n] = document.createElement('input');
a[n].onclick = function () {
this.value = 'X';
};
for (k=1; k<=cols; k++) {
if (n == k*cols) document.getElementById('mytable').innerHTML += '<br />' ;
}
document.getElementById('mytable').appendChild(a[n]);
|
Цитата:
UPD: Цитата:
|
Проблема этим не решилась
|
А если попробывать
document.getElementById('mytable').innerHTML += a[n] , то появляется только надписи [object HTMLInputElement] |
<table border="1" cellspacing="0" cellpadding="4">
<tr><td></td><td></td></tr>
<tr><td></td><td></td></tr>
</table>
<script>
var cells = document.getElementsByTagName('td'), a = []
for(var i = 0, len = cells.length; i < len; i++){
a[i] = document.createElement('input')
a[i].onclick = function(){
this.value = 'Clicked!'
}
cells[i].appendChild(a[i])
}
</script>
Почитай тут. Особенно 4й пункт |
| Часовой пояс GMT +3, время: 19:47. |