изменение цвета ячейки при вводе

usascha

Новичок
изменение цвета ячейки при вводе

Есть таблица:
...
<td>
<input ...>
</td>
...
Как поменять цвет ячейки (или фона input) при вводе символа?
 

usascha

Новичок
это-то я знаю. Но как обратиться из него к тегу <td> или свойству <input>'а - bgcolor (если это возможно)? Я делал во так: <input onkeyup=document.getElementsByName=this.form.input.elements.color=black;>
и вот так <input onkeyup=document.getElementsByName=this.form.input.name.color=black;>
и еще несколько вариантов, но всегда была ошибка: "Есть 0 или не является объектом".
 

Vital_N

Новичок
usascha
лучше бы тебе написать отдельную функцию типа

activateTD(td_id){
var td = document.getElementById(td_id);
if (td){
td.style.background = "black";
}
}


<td id="td1">
<input onKeyPress="activateTD('td1')"............
</td>
 

usascha

Новичок
Vital_N, спасибо очень помогло!
Это еще и натолкнуло на мысль как снять выделение:
Код:
function deselectTD(td_id) {
	var td = document.getElementById(td_id);
	if (td) {
	td.style.background = \"white\";
	}
}
... а в html части (в td) указать: OnClick=deselectTD('td')

...Это если кому будет интересно.
 

usascha

Новичок
если ошибочно ввел символ не в ту ячейку (input), то надо убрать и выделение.

Я попробовал к if (td) приставить
else {td.style.background = \"white\";}, но не заработало и я сделал новую функцию.
 

morti

Новичок
<table>
<tr>
<td style="background-color: red;" onmouseover="change(this);" onmouseout="change(this);"></td>
</tr>
</table>

function change(obj)
{
if(obj.style.backgroundColor=="red") obj.style.backgroundColor="blue";
else obj.style.backgroundColor="red";
}
 
Сверху