Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Element is null (https://javascript.ru/forum/dom-window/16721-element-null.html)

MasterYoda 19.04.2011 16:17

Такие как ksa тусуются здесь только для того чтобы накручивать счётчик сообщений и карму зарабатывать! Нихрена толкового не сказал ещё и мне -51 сделал, зато у него хрен пойми как меньше чем за минуту на 100 прибавилось!

Kolyaj 19.04.2011 16:26

Цитата:

Сообщение от MasterYoda
зато у него хрен пойми как меньше чем за минуту на 100 прибавилось!

Всё можно увидеть http://javascript.ru/forum/members/8616-ksa/

В частности там можно увидеть загадочных LUPUS, DarkLotos, DarkRevenger, зарегистрировавшихся сегодня.
MasterYoda, вы с ними случайно не знакомы?

da_ff 19.04.2011 16:58

Цитата:

Сообщение от MasterYoda (Сообщение 101413)
А твой вариант кода в чем заключается?

Это если у тебя подключен jQuery. Взять можно тут

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


p - переменная в которой будет сумма value отмеченных чекбоксов.

$('#formSum').find('input[type="checkbox"]:checked') - выбираем отмеченные чекбоксы внутри формы с идентификатором "formSum".

Дальше суммируем значения и все.

ksa 19.04.2011 22:07

А автор-то говнюшок... :lol:

Цитата:

Сообщение от MasterYoda
зато у него хрен пойми как меньше чем за минуту на 100 прибавилось

Это всё твоими стараниями... :lol:

eu1cj 21.04.2011 04:09

Цитата:

Сообщение от da_ff (Сообщение 101421)
var p = 0;
$('#formSum').find('input[type="checkbox"]:checked').each(function () {p += +this.value});

Эй, а что за строка такая лихая?
p += +this.value


то MasterYoda:
А вообще-то da_ff прав, уж больно олдскульно...
У меня в восьмёрке твой скрипт не ругается. Проверь на всякий, что тебе typeof() вернёт в IE. А лучше вот тебе рабочий скрипт на jQuery, кликай до упора:
$(document).ready(function(){
    $('.q1').click( function() {
        var p = 0;  
        $('#formSum input:checkbox').each( function() {
            p += ($(this).attr('checked')) ? parseInt( $(this).val() ) : 0 ;
        });
        $('#showres').val(p);
    });
})


и на сервере

<?php
echo "<form name='formSum'>"
."<input type='checkbox' class='q1' value='5'  />"
."<input type='checkbox' class='q1' value='6' />" 
."<input type='text' id='showres' value='' />"
."</form>";
?>

(если тебе так нравится)

Проверь, я не копался.
А твой скрипт работает, не :cray:

MasterYoda 21.04.2011 12:51

Так тоже не хочет работать. Как-то всё это странно

walik 21.04.2011 17:38

Цитата:

Сообщение от eu1cj
Эй, а что за строка такая лихая?
p += +this.value

А что в ней такого ? обычная строка

<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
function calc() {
	var p = 0;
	$('#formSum input[type="checkbox"]:checked').each(function () {p += +this.value});
	alert(p);
}
</script>
</head>
<body>
<form id="formSum">
<input type="checkbox" value="1" checked />
<input type="checkbox" value="2" />
<input type="checkbox" value="3" checked />
<input type="checkbox" value="4" />
<input type="checkbox" value="5" checked />
</form>
<input type="button" onclick="calc();" value="Подсчитать" />
</body>
</html>

eu1cj 21.04.2011 20:47

Да, ты прав. Пардон.
Сгоряча не обратил внимания на "+" перед this


Часовой пояс GMT +3, время: 18:24.