2016-02-22 2 views
0

им рисунок таблицу с датами с нагрузкой скрытых полейИзменение стиля с помощью JS делает скрытое поле ввода исчезающим?

print "<td"; 
{ $dm=date('Y-m-d',strtotime("+".$i." days", strtotime($m))); 
print " class=\"overflow\" id=\"$a::$dm\" onclick=\"function1(this)\" " 
print " >"; 
print "<input type='hidden' id=\""."hidden:$a::$dm"."\" name=\"hiddenfield\" value='123' >"; 
} 
print " </td>"; 

тогда я хочу, чтобы нажать на ячейку и добавить значение в скрытый элемент, и изменить цвет соседних ячеек

но когда javascript меняет стиль, скрытый элемент не доступен, а длина массива уменьшается на единицу каждый раз

Я могу поместить скрытые поля ввода за пределы таблицы, но могу ли я исправить это?

Javascript ........

> days=5; 
>  for (i=(c+1); i<(c+days);i++) 
>  { 
>  myTable.rows[r].cells[i].innerHTML = ''; 
>  j=myTable.rows[r].cells[i].id;//alert(i +" "+j) 
>  document.getElementById(j).style.borderRightStyle = "none"; 
>  document.getElementById(j).style.borderLeftStyle = "none"; 
>  document.getElementById(j).className = 'active'; 
>  ajj='hidden::'+j;alert(ajj); 
>  //alert(document.getElementById(ajj).value) 
>  alert(document.getElementsByName("hiddenfield").length); 
>  } 

я получаю сообщение консоли, когда я пытаюсь, чтобы проверить, что элемент предупреждение (document.getElementById (AJJ) .value) является нулевым

ответ

1

Я думаю, что проблема эта линия

myTable.rows[r].cells[i].innerHTML = ''; 

Вы удаляете все между вашими <td> тегами, который включает в себя поле ввода. Изменение стиля не имеет к этому никакого отношения.