Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.06.2012, 11:33
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Не работает кнопка
есть такой скрипт (см. ниже), при нажатии на кнопку запрашивает кол-во столбцов и ячеек, создает таблицу и кнопку, при нажатии на которую должен меняться фон таблицы, но фон не меняется. Почему? Как исправить?!
<html><head>
<meta http-equiv="Content-Type" Content="text/html; Charset=Unicode">
<meta http-equiv="Content-Language" Content="ru">
<title>Generate table</title>
</head><body>
<center><br>
<input type="button" onclick="tab()" value="Создать таблицу">
<script>
function tab() {
var column = +prompt ('Введите кол-во колонок', '5') ;
var cell = +prompt ('Введите кол-во ячеек', '50') ;
document.write('<br><br><input type="button" onclick="changeTableBgColor()" value="Сменить заливку"><br><br>') ;
document.write('<center><br><table rules="all" style="border: #000 1px solid" cellpadding="10" id="tab"><tr><td align="center" valign="middle">') ;
for (var i = 1; i <= cell; i++) {
document.write(i+'</td>') ;
if (i%column==0) document.write('</tr>') ;
if (i==cell) break ;
if (i%column==0) document.write('<tr>') ;
document.write('<td align="center" valign="middle">') ;
} ;
if (cell%column!=0) {
for (var a = cell; a%column!=0; a++) {
document.write('<td>&nbsp;</td>') ;
} ;
} ;
document.write('</tr></table></center>') ;
} ;
function changeTableBgColor() {
document.getElementById('tab').style.backgroundColor='#0f0' ;
} ;
</script>
</center></body></html>
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2012, 11:50
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Меняется нормально фон, на зеленый
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2012, 11:55
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Сообщение от walik Посмотреть сообщение
Меняется нормально фон, на зеленый
О.о У меня нифига не меняет =(
Ответить с цитированием
  #4 (permalink)  
Старый 13.06.2012, 12:14
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

walik, а ты в каком браузе смотрел?
Ответить с цитированием
  #5 (permalink)  
Старый 13.06.2012, 13:54
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Тут была по случаю уже была заготовка
<style>
#Table-container table,
#Table-container table td{
  border:1px inset #716F64;
  /*border-collapse:collapse;*/
  border-spacing: 1px;
}
</style>
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<div id=Table-container></div>
<br />
<br />
<script type="text/javascript">
 var colorTable="#80FF80";
 function ChangeColor (){
   $("#Table-container table td").css({"background-color":""+colorTable+""})
 }
</script>
<button style="display:none" id="Chang" type="button" onclick="ChangeColor()">Заливка</button>
<br />
<br />

<!-- Генератор таблиц -->
<h4 style='cursor:hand;cursor:pointer;' onclick="$('#myr-myr').toggle()"><img src="http://savepic.net/1038920.gif" alt="Генератор таблиц" style="vertical-align:middle">  <u>Cоздать таблицу</u></h4>
<table id="myr-myr" width=300 style="display:none"><tr>
    <td>строк: <input class=rows maxlength=3 size=3 value=1 name=rows></td>
    <td>ячеек: <input class=cols maxlength=4 size=3 value=1 name=cols></td>
    <td colspan=4><a href="http://forum.mybb.ru//viewtopic.php?pid=668844#p668844" target=_blank><b></b></a><br>
    <button id="tableCreate" type="button">Cоздать</button></td></tr></table>
<script language=JavaScript> function setTable(){
var Ntd,Nstr,i=0,j=0,tbl="";var tblz="", TDstrStart='<td>ячейка ',TDstrEnd='</td>';
Nstr=$("#myr-myr .rows").val();Ntd=$("#myr-myr .cols").val();
for(j=0; j<Nstr; j++){tbl='<tr>'+tbl;for (i=0; i<Ntd; i++){NumTd=Ntd*j+i;tbl+=TDstrStart+(NumTd+1)+TDstrEnd};
tbl+="</tr>";tblz+=tbl;tbl="";};tbl='<table>'+tblz+'</table>';$("#Table-container").prepend(tbl);$("#Chang").show();}
$("#tableCreate").click(function(){setTable();})</script>
Ответить с цитированием
  #6 (permalink)  
Старый 13.06.2012, 14:11
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Но а почему кнопка в моем коде не работает?
Ответить с цитированием
  #7 (permalink)  
Старый 13.06.2012, 14:27
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Hekumok
Но а почему кнопка в моем коде не работает?
Команда document.write ,поскольку выдается при полностью загруженной странице - не валидна - документ создался криво
нун делать через append Child
Ответить с цитированием
  #8 (permalink)  
Старый 13.06.2012, 16:37
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

можно оставить и в таком варианте, но только нужно функцию changeTableBgColor() также выводить на страницу как и всю таблицу
document.write('<script>function changeTableBgColor() { document.getElementById("tab").style.backgroundColor="#0f0" ; } ;<\/script>');

или можно выводить таблицу с помощью свойства innerHTML в div какой-нибудь, если не использовать DOM
Ответить с цитированием
  #9 (permalink)  
Старый 13.06.2012, 18:26
Аватар для Джэксон
Аспирант
Отправить личное сообщение для Джэксон Посмотреть профиль Найти все сообщения от Джэксон
 
Регистрация: 21.05.2012
Сообщений: 89

Маленький совет. Когда вызываете функцию, ставьте точку с запятой. Например: <input type="button" onclick="changeTableBgColor();" value="Сменить заливку">. Может логать из-за того, что вы не поставили данный символ (;).
Ответить с цитированием
  #10 (permalink)  
Старый 13.06.2012, 18:38
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

Сообщение от Deff Посмотреть сообщение
Команда document.write ,поскольку выдается при полностью загруженной странице - не валидна - документ создался криво
нун делать через append Child
Deff, пасиб, но можно, плиз, пример, а то я не понимаю как с appendChild
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В IE9 не работает кнопка отправить - type="submit" Edan Internet Explorer 3 24.12.2011 00:21
Не работает кнопка через live Dorian_bs Общие вопросы Javascript 7 04.12.2011 02:29
Не работает кнопка отправки после загрузки Igor Shmigoff jQuery 2 29.12.2010 21:51
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 15:59
Не работает кнопка "Назад" savagden Javascript под браузер 3 10.12.2009 20:25