Не работает кнопка
есть такой скрипт (см. ниже), при нажатии на кнопку запрашивает кол-во столбцов и ячеек, создает таблицу и кнопку, при нажатии на которую должен меняться фон таблицы, но фон не меняется. Почему? Как исправить?!
<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> </td>') ; } ; } ; document.write('</tr></table></center>') ; } ; function changeTableBgColor() { document.getElementById('tab').style.backgroundColor='#0f0' ; } ; </script> </center></body></html> |
Меняется нормально фон, на зеленый
|
Цитата:
|
walik, а ты в каком браузе смотрел?
|
Тут была по случаю уже была заготовка
<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> |
Но а почему кнопка в моем коде не работает?
|
Цитата:
нун делать через append Child |
можно оставить и в таком варианте, но только нужно функцию changeTableBgColor() также выводить на страницу как и всю таблицу
document.write('<script>function changeTableBgColor() { document.getElementById("tab").style.backgroundColor="#0f0" ; } ;<\/script>'); или можно выводить таблицу с помощью свойства innerHTML в div какой-нибудь, если не использовать DOM |
Маленький совет. Когда вызываете функцию, ставьте точку с запятой. Например: <input type="button" onclick="changeTableBgColor();" value="Сменить заливку">. Может логать из-за того, что вы не поставили данный символ (;).
|
Цитата:
|
Часовой пояс GMT +3, время: 06:16. |