Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 23 Май, 2012, 04:04:38

Страниц: 1 2 [3]
Печать
Автор Тема: php таблицы + JavaScript  (Прочитано 3540 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
relictx    ↓ 
03 Февраль, 2009, 02:32:36
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 4
Сообщений: 306
Сила слова: 1.31

Разобрался) Все, спасибо)
Записан

И сказал апач кури мануал, ибо еррор, варнинг модул и хз. Да святиться имя твое, во имя контрла, альта и святого деля... Аминь!
relictx    ↓ 
04 Февраль, 2009, 12:15:50 , спустя 21 час 43 минуты 14 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 4
Сообщений: 306
Сила слова: 1.31

Последний вопрос к уважаемым экспертам и можете закрывать, мне остался штрих доделать...
 
Что за ошибка: document.form1.[...].value есть null или не является объектом?
 
У меня два скрипта, один добавляет строку, другой считает, по нажатию сумму из добавленных td-шек и введенных в них данных.
В 1-м скрипте(добавление строк) нумерую td-шки:
Javascript

var th_count = document.getElementsByTagName("th").length;
var tr_count = document.getElementsByTagName("tr").length;
var td_count = document.getElementsByTagName("td").length;
...
...
...
for (var i=td_count-th_count+1; i<td_count-2; i++) {
var y2=x.insertCell(1)
y2.innerHTML="<input type=text name=a"+i+">"} //Нумеруем td-шки
 
Вроде бы не жалуется...
 
А вот во втором не может прочитать, возмущаясь ошибкой...
Javascript

var th_count = document.getElementsByTagName("th").length;
var tr_count = document.getElementsByTagName("tr").length;
var td_count = document.getElementsByTagName("td").length;
...
...
...
for (var i=td_count-th_count+1; i<td_count-2; i++) {
item = parseFloat(document.form1["a"+i].value);  //Здесь жалуется... вроде все так же как и в первом скрипте
item1 = item1+item};
itog = item1/exp;
document.form1["s"+kesh].value = itog;
 

Никак не могу багу зафиксить, заранее спасибо!
« Последнее редактирование: 04 Февраль, 2009, 12:18:56 от relictx » Записан

И сказал апач кури мануал, ибо еррор, варнинг модул и хз. Да святиться имя твое, во имя контрла, альта и святого деля... Аминь!
Josh    ↓ 
04 Февраль, 2009, 12:21:29 , спустя 5 минут 39 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: нинзя

Карма: 48
Сообщений: 1574
Сила слова: 3.05

попробуй
Javascript
y2.innerHTML="<input type=text id='a"+i+"' />";
alert("a"+i);
и
Javascript
document.getElementById("a"+i).value
alert("a"+i);

и сравни :)
« Последнее редактирование: 04 Февраль, 2009, 12:32:41 от Josh » Записан

Иногда мне кажется, что все ебанулись. В остальное же время я в этом уверен.
relictx    ↓ 
04 Февраль, 2009, 12:28:51 , спустя 7 минут 22 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 4
Сообщений: 306
Сила слова: 1.31


попробуй
Javascript
y2.innerHTML="<input type=text id='a"+i+"' />"
и
Javascript
document.getElementById("a"+i).value

Обращается к строке:
Javascript

document.getElementById("a"+i).value
 
и пишет: Требуется объект
Записан

И сказал апач кури мануал, ибо еррор, варнинг модул и хз. Да святиться имя твое, во имя контрла, альта и святого деля... Аминь!
Josh    ↓ 
04 Февраль, 2009, 12:32:57 , спустя 4 минуты 6 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: нинзя

Карма: 48
Сообщений: 1574
Сила слова: 3.05

или дай сюда страничку
Записан

Иногда мне кажется, что все ебанулись. В остальное же время я в этом уверен.
relictx    ↓ 
04 Февраль, 2009, 12:36:40 , спустя 3 минуты 43 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 4
Сообщений: 306
Сила слова: 1.31

Вот весь код, и две функции(скрипта). Смысл в том, что для каждой строки своя сумма, я думаю это понятно)
 
Javascript

function addRow(tblId)
{
 
var th_count = document.getElementsByTagName("th").length;
var tr_count = document.getElementsByTagName("tr").length;
var td_count = document.getElementsByTagName("td").length;
var x=document.getElementById('tblSample').insertRow(-1)
 

var y1=x.insertCell(0)
y1.innerHTML=tr_count;
 
for (var i=td_count-th_count+1; i<td_count-2; i++) {
    var y2=x.insertCell(1)
    y2.innerHTML="<input type=text id='a"+i+"' />";}
 

var y3=x.insertCell(th_count-2)
y3.innerHTML="<input type=button name=s"+tr_count+" onclick=Itog('tblSample')>"
 
var y4=x.insertCell(th_count-1)
y4.innerHTML="<input type=text name=color>"
 
}
 

 
function Itog(tblId)
{
 
var th_count = document.getElementsByTagName("th").length;
var tr_count = document.getElementsByTagName("tr").length;
var td_count = document.getElementsByTagName("td").length;
 
var item;
var item1;
var kesh;
 
item1 = 0;
exp = th_count-3;
 
kesh=td_count/th_count;
 

for (var i=td_count-th_count+1; i<td_count-2; i++) {
item = parseFloat(document.getElementById("a"+i).value);
item1 = item1+item};
itog = item1/exp;
 

 
document.form1["s"+kesh].value = itog;
 

if (itog>=0.5){
document.form1.color.value = "Допустимый";
document.form1.color.style.backgroundColor = "yellow"};
 
if (itog<0.5){
document.form1.color.value = "Критический";
document.form1.color.style.backgroundColor = "red"};
 
if (itog>=1.5){
document.form1.color.value = "Эффективный";
document.form1.color.style.backgroundColor = "green"};
 

}
 
 
Записан

И сказал апач кури мануал, ибо еррор, варнинг модул и хз. Да святиться имя твое, во имя контрла, альта и святого деля... Аминь!
Josh    ↓ 
04 Февраль, 2009, 12:38:30 , спустя 1 минуту 50 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: нинзя

Карма: 48
Сообщений: 1574
Сила слова: 3.05

ты мне предлагаешь ещё html для этого написать? сохрани страничку или выложи где нибудь
Записан

Иногда мне кажется, что все ебанулись. В остальное же время я в этом уверен.
relictx    ↓ 
04 Февраль, 2009, 12:39:54 , спустя 1 минуту 24 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 4
Сообщений: 306
Сила слова: 1.31


ты мне предлагаешь ещё html для этого написать? сохрани страничку или выложи где нибудь

Вот Html, сорри...
 
HTML

<?
session_start();
$_SESSION['exp']=3;
?>

 
<html>
 
<head>
<script type="text/javascript" src="functions.js"></script>
 

 
</head>
 
<body>
 
<form name="form1">
<p>
<input type="button" value="Добавить вопрос" onclick="addRow('tblSample')" />
<input type="button" value="Подсчитать" onclick="Itog('tblSample')" />
</p>
<table id="tblSample" border="1">
 
<thead>
<tr>
<th>Вопросы</th>
<?
for ($i=1;$i<=$_SESSION['exp'];$i++){
 echo '<th>Эксперт '.$i.' </th>';      }
?>
<th>Сумма</th>
<th>Вывод</th>
</tr>
</thead>
</table>
</form>
 

 
</body>
 
</html>
Записан

И сказал апач кури мануал, ибо еррор, варнинг модул и хз. Да святиться имя твое, во имя контрла, альта и святого деля... Аминь!
Josh    ↓ 
04 Февраль, 2009, 12:51:00 , спустя 11 минут 6 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: нинзя

Карма: 48
Сообщений: 1574
Сила слова: 3.05

поставь фаербаг у тебя первые td вообще нумеруються "a-5", "а-4" Видимо 0 не учитываешь. гдето в мат части ошипку исчи :)
Записан

Иногда мне кажется, что все ебанулись. В остальное же время я в этом уверен.
relictx    ↓ 
04 Февраль, 2009, 12:59:33 , спустя 8 минут 33 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 4
Сообщений: 306
Сила слова: 1.31


поставь фаербаг у тебя первые td вообще нумеруються "a-5", "а-4" Видимо 0 не учитываешь. гдето в мат части ошипку исчи :)

Знаю, но форы вроде и там и там одни и те же, должно было по сути правильно искать... Странно...
Ладно, буду дальше мучать яву))
Записан

И сказал апач кури мануал, ибо еррор, варнинг модул и хз. Да святиться имя твое, во имя контрла, альта и святого деля... Аминь!
Josh    ↓ 
04 Февраль, 2009, 01:59:34 , спустя 1 час 1 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: нинзя

Карма: 48
Сообщений: 1574
Сила слова: 3.05



поставь фаербаг у тебя первые td вообще нумеруються "a-5", "а-4" Видимо 0 не учитываешь. гдето в мат части ошипку исчи :)

Знаю, но форы вроде и там и там одни и те же, должно было по сути правильно искать... Странно...
Ладно, буду дальше мучать яву))
Ну какже правильно, когда ты в одной функции добавляешь td, а в другой считаешь тоже самое, но не учитываешь что уже добавил
Записан

Иногда мне кажется, что все ебанулись. В остальное же время я в этом уверен.
relictx    ↓ 
05 Февраль, 2009, 10:10:32 , спустя 20 часов 10 минут 58 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 4
Сообщений: 306
Сила слова: 1.31

Все всем спасибо! Вопрос окончательно снят) Задача выполнена!
Для решения ввел hidden поля, с данными о номерах td-шек и кол-ве экспертов.
Записан

И сказал апач кури мануал, ибо еррор, варнинг модул и хз. Да святиться имя твое, во имя контрла, альта и святого деля... Аминь!
Страниц: 1 2 [3]
Печать
 

Перейти в: