Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.04.2011, 12:47
Интересующийся
Отправить личное сообщение для MasterYoda Посмотреть профиль Найти все сообщения от MasterYoda
 
Регистрация: 18.04.2011
Сообщений: 15

Element is null
Что за ошибка? Не подскажете? Есть скриптик, который считает сумму отмеченных чекбоксов,
function res()
{var p=0;
 var All=document.forms['formSum'];
for(var i = 0; i < All.elements.length; ++i) {
    if(All.elements[i].checked){
    p=p+(parseInt(All.elements[i].value));
     document.formSum.showres.value=p;}
 }
}

Но почему-то когда я ставлю чекбокс, Майкрософтская хрень начинает ругаться 'elemets' is null or not an object
<form name="formSum">
<input type=\"checkbox\" name=\"q1\"  onclick=\"res()\" value=\"$value\" />'$value'
</form>
Ответить с цитированием
  #2 (permalink)  
Старый 19.04.2011, 13:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

MasterYoda, фиговый твой скрипт... Вот и ругается.
Т.е. 'elemets' либо не определён, либо не является объектом и с ним не возможны, производимые тобой, действия...
Ответить с цитированием
  #3 (permalink)  
Старый 19.04.2011, 13:47
Интересующийся
Отправить личное сообщение для MasterYoda Посмотреть профиль Найти все сообщения от MasterYoda
 
Регистрация: 18.04.2011
Сообщений: 15

Почему фиговый? Что в нём не так? (Ответ "ВСЁ" не катит =) )

Последний раз редактировалось MasterYoda, 19.04.2011 в 13:50.
Ответить с цитированием
  #4 (permalink)  
Старый 19.04.2011, 13:49
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от MasterYoda
Ответ "ВСЁ" не кактит
Тебе таки это придётся принять, как бы горько тебе небыло...
Ответить с цитированием
  #5 (permalink)  
Старый 19.04.2011, 13:50
Интересующийся
Отправить личное сообщение для MasterYoda Посмотреть профиль Найти все сообщения от MasterYoda
 
Регистрация: 18.04.2011
Сообщений: 15

ksa! Не смешно! Я сюда наверное за советом пришёл, а не за приколами. Если знаешь, подскажи как исправить, если нет, тогда вообще не забивай тему!
Ответить с цитированием
  #6 (permalink)  
Старый 19.04.2011, 13:52
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Уже забил...
Ответить с цитированием
  #7 (permalink)  
Старый 19.04.2011, 13:54
Интересующийся
Отправить личное сообщение для MasterYoda Посмотреть профиль Найти все сообщения от MasterYoda
 
Регистрация: 18.04.2011
Сообщений: 15

Это ты типа блеснул умом, хреново у тебя получается, из 3 ответов ни одного по теме. Интересно, как живётся с нулевым КПД?
Ответить с цитированием
  #8 (permalink)  
Старый 19.04.2011, 14:42
Профессор
Отправить личное сообщение для da_ff Посмотреть профиль Найти все сообщения от da_ff
 
Регистрация: 12.05.2009
Сообщений: 317

var p=0;

var All=document.forms['formSum'];

for(var i = 0; i < All.elements.length; ++i) {
if(All.elements[i].checked){

p=p+(parseInt(All.elements[i].value));
document.formSum.showres.value=p; // это лучше вынести из тела цикла
}
}

Это не то, чтобы плохо, это черезчур олдскульно. Если совсем просто, то воспользуйся каким-нибудь фреймворком, например, jQuery.
Тогда это будет примерно так

var p = 0;
$('#formSum').find('input[type="checkbox"]:checked').each(function () {p += +this.value});

А у тебя правда что-то странное написано, совсем олдскульно.
Ответить с цитированием
  #9 (permalink)  
Старый 19.04.2011, 15:51
Интересующийся
Отправить личное сообщение для MasterYoda Посмотреть профиль Найти все сообщения от MasterYoda
 
Регистрация: 18.04.2011
Сообщений: 15

А твой вариант кода в чем заключается? Как производится рассчёт? Я что-то не понимаю.
Ответить с цитированием
  #10 (permalink)  
Старый 19.04.2011, 15:59
Интересующийся
Отправить личное сообщение для MasterYoda Посмотреть профиль Найти все сообщения от MasterYoda
 
Регистрация: 18.04.2011
Сообщений: 15

Просто прикол в том что мой код работает нормально, до момента, пока я не пытаюсь подключить его в php, а в html он работает.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Переопределить функции .childElements rikitikitavi Events/DOM/Window 2 18.03.2011 21:44
Чем занимаются JS-программеры. JSTalker Оффтопик 69 02.02.2011 10:18
Чем отличается undefined от null hrundel Общие вопросы Javascript 21 01.01.2011 22:06
Удалить ряд символов перед или после курсора до определенного сивола brd Javascript под браузер 3 30.10.2009 08:20