Никита К.
1594 повідомлення
#15 років тому
На странице выводится "что-то". Рядом с каждым "что-то" есть чекбокс.

Наверху есть чекбокс "Выделить всё" а рядом ссылочка - "Удалить выбранное".

То есть я так понимаю по нажатию на "удалить выбранное" срабатывает document.getElementById('form'.submit(); и передаются в action формы все значения выделенных чекбоксов.
Вопрос: Как реализовать OnClick чекбокса "Выделить всё", чтобы надпись менялась на "Сбросить всё" если он активен, и соответстственно при снятии чекбокса - всё выделенное так же снималось...

Кривенько объяснил, но я думаю поймут.

Помогите пожалуйста!
Роман Беляев
16382 повідомлення
#15 років тому
Сделай чекбоксам id вида asdНОМЕР и потом в цикле перебирая номер от нуля до их количества проставляй. дальше сам должен понять.
Антон Е.
279 повідомлень
#15 років тому

первая ссылка какраз то,что вам нужно. оно и добавляет чекбоксы и снимает,вам нужно только текст менять,что воооооообще элементарно
Никита К.
1594 повідомлення
#15 років тому
Спасибо!
Никита К.
1594 повідомлення
#15 років тому
Ладно, с этим разобрался.

Заказчику надо, чтобы при регистрации при вводе пароля выводилась его сложность.
Сделал следующее:

1. Есть следующий элемент в форме:
<input name="pass1" id="pass1" type="password" OnKeyUp="CheckPass();"/>

2. Чуть ранее в коде есть следующий фрагмент:
<script type="text/javascript"><!--

function CheckPass()
{
alert('012334';
var pass = document.getElementById('pass1'.value;
var level = 0;
if((pass.length < 8) && (pass == pass.toLowerCase()))
{
level = 0;
}

if((pass.length > 8) && (pass != pass.toLowerCase()))
{
level = 1;
}

if((pass.length > 12) && (pass != pass.toLowerCase()) and (isNaN(pass)))
{
level = 2;
}

var level1 = document.getElementById('level';
var level2 = document.getElementById('level1';

level2.value = level;

if(level == 0) {
level1.innerHTML = 'Низкая';
level1.style.color = 'red';
}

if(level == 1) {
level1.innerHTML = 'Средняя';
level1.style.color = 'yellow';
}

if(level == 2) {
level1.innerHTML = 'Высокая';
level1.style.color = 'green';
}
}

--></script>

alert() вставлен просто для проверки. Набираю в поле pass1 чуть ли не поэму, но алерт так и не вызывается. В чем может быть причина?

Консоль ошибок Opera сказала:
message: Statement on line 1: Undefined variable: CheckPass
Чтобы это значило?..
Антон Е.
279 повідомлень
#15 років тому
Message: Statement on line 1: Undefined variable: CheckPass похоже на какую-то синтаксическую ошибку на первый взгляд,типа где-то запятой не хватает,итд
я бы функцию вешал на ончейндж,а не на онкейап...правда не знаю почему мне это кажется более логичным...наверно потому.что ваш скрипт будет срабатывать даже при нажатиях стрелочек,а если он чейндж,только при изменении текста,но я это не проверял.просто мысли в слух
Если дадите пример посмотреть онлайн,попробую помочь с ошибкрой конкретнее
Никита К.
1594 повідомлення
#15 років тому
Кинул в ЛС
Антон Е.
279 повідомлень
#15 років тому
Вот,что выдал фаербаг
missing ) after condition
if((pass.length > 12) && (pass != pass.toLowerCase()) and (isNaN(pass)))\n

собственно как я и думал синтаксическая ошибка,где-то в этой строке ошибка с открывающими\закрывающими скобками
ремонтировать не стал,думаю сами разберетесь
Антон Е.
279 повідомлень
#15 років тому
Блин,любопытство взяло верх.исправил 74 строку
if((pass.length > 12) && (pass != pass.toLowerCase()) && (isNaN(pass)))

к стати попробовал ончейндж повесить,понял,что сказал полную фигню,оно вызывается когда текст введен и теряет фокус...так,что он кей прес или доун как вы сделал самый правильный вариант
Никита К.
1594 повідомлення
#15 років тому
Спасибо

Сам я просто 'and' читаю так же ка '&&'
Антон Е.
279 повідомлень
#15 років тому
По идее во многих языках это одно и тоже,там описыватся and равно && и or равен || но символьный вариант вроде должен работать медленее,но почему ошибку вызвал,сам не знаю,видимо в яваскрипт использовать их нельзя
вот,что нашел по этому поводу


в пхп можно и так и так,в яваскрипте только не символьными... Мистика =)
Никита К.
1594 повідомлення
#15 років тому
_VersouL_, Вот и я о чем. Привык всегда писать and, поэтому не понял в чем проблема
Никита К.
1594 повідомлення
#15 років тому
И еще вопрос от человека, не понимающего логики любимого JS

Есть документик.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>!!!</title>
<base href="http://love.anexroid.ru/" />
<script type="text/javascript">
function send_form()
{

alert(document.getElementById('my_form'));
var forma = document.getElementById('my_form');
forma.submit();

}
</script>
</head>
<body>
<form action="script1.php" method="post" name="messageForm" id="messageForm">

<form action="script2.php" name="my_form" id="my_form" method="POST">

<input name="username" id="username" style="width:280px" />

<a href="javascript: send_form();">test</a>

</form>

</form>

</body>
</html>


При нажатии на ссылку alert выводит Цитата:
null


И, соответственно, submit не срабатывает. Почему так?
Никита К.
1594 повідомлення
#15 років тому
Если убрать первую форму (messageForm) - всё работает...
Евгений О.
2989 повідомлень
#15 років тому
Форма в форме быть не может.
Никита К.
1594 повідомлення
#15 років тому
elosoft, Жаль... ))

Ладно, в таком случае вопрос исчерпан