[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не включается чекбокс
quickxyan
полчаса играюсь и никак не пойму почему не работает

есть чекбокс

<input type="checkbox" id="check">1

и есть обработчик, который смотрит, если была отправлена форма и чекбокс был включен, но есть ошибки в форме, то он включает чекбокс


document.getElementById('check').checked=true;


js-включен, но этот код неработает. пробовал и ID менять, но тоже ничего не меняется.
буду признателен любой помощи



Спустя 5 минут, 13 секунд (7.05.2011 - 17:46) sharki написал(а):
quickxyan
А как насчет атрибута value?

Спустя 5 минут (7.05.2011 - 17:51) quickxyan написал(а):

document.getElementById('check').value=true;

вот так? не работает. и в кавычках и без :(

вот сам код проверки. если значение чекбокса не пустая строка, то включаем его.
вывожу значение - оно "on". вставлял вместо включения чекбокса алерт - работает

echo $_POST["check"];
if($_POST["check"]!='') echo '<script>document.getElementById("check")style.value="true";</script> ;';

Спустя 8 минут, 41 секунда (7.05.2011 - 18:00) sharki написал(а):
quickxyan
Наверное стоит поместить чекбокс в форму, и там обращаться к нему через имя формы и его местоположение.

Ну или через Jquery всё легко и просто =)

Спустя 1 минута, 12 секунд (7.05.2011 - 18:01) quickxyan написал(а):
попробую через форму. но если не прокатит, то уже буду прикручивать jquery спасибо за помощь

Спустя 26 минут, 21 секунда (7.05.2011 - 18:27) Winston написал(а):
Цитата (quickxyan @ 7.05.2011 - 16:41)
если была отправлена форма и чекбокс был включен, но есть ошибки в форме, то он включает чекбокс

Я так делаю
$check = isset($_POST['check']) ? "checked='checked'" : NULL;

if(empty($_POST['text']) && $_POST['check'] == 'on')
print_r($_POST);

?>
<form action="" method="POST">
<
input type="text" name="text">
<
input type="checkbox" name="check" <?php echo $check; ?>><br/>
<
input type="submit" name="go">
</
form>

Спустя 11 минут, 20 секунд (7.05.2011 - 18:39) KonstantinK написал(а):
Вот три функции которые я я применяю в одном проекте в зависимости от ситуации
function returnCheck($id, $return)
{
return ($id == $return)?'checked="checked"':NULL;
}

function return2Check($return)
{
return ($return == true)?'checked="checked"':NULL;
}

function returnSelectCheck($val, $arr)
{
return (in_array($val, $arr))? 'checked="checked"':NULL;
}



Вроде работает нормально.

Спустя 3 минуты, 30 секунд (7.05.2011 - 18:42) sharki написал(а):
KonstantinK
На php легко, может человек хочет именно на JS сделать, чтобы потом создать условие на стороне клиента и т.п =) пусть поведует тайну Mr.quickxyan ))

Спустя 4 минуты, 17 секунд (7.05.2011 - 18:46) Winston написал(а):
Или на JS
<script language="JavaScript">
function checks()
{
var go = document.getElementById("go");
var check = document.getElementById("check").checked;

if(go.onclick)
{
if(check == true)
check = true;
else
check = false;
}
}

</script>

<
input type="text" name="text">
<
input type="checkbox" id="check" name="check"><br/>
<
input type="submit" id="go" name="go" Onclick="checks()">



Спустя 2 часа, 10 минут, 18 секунд (7.05.2011 - 20:57) ИНСИ написал(а):
PHPprogramer чет мне кажется, что твой вариант не будет работать :(

quickxyan повесь вот этот код, будет работать 100%!

        function checkBox(id) {
if(document.getElementById(id).checked == true)
alert('true');
else
alert('false');
}


Спустя 2 минуты, 57 секунд (7.05.2011 - 21:00) Winston написал(а):
Цитата (velbox @ 7.05.2011 - 19:57)
PHPprogramer чет мне кажется, что твой вариант не будет работать sad.gif

Если я не знаю точного ответа, то сначала пишу на локалке код, потом сюда.
У меня он работает.

Спустя 8 минут, 40 секунд (7.05.2011 - 21:08) quickxyan написал(а):
ой ой. как мои темы развиваются)
а я и не думал, что можно на чистом php включить. спасибо большое буду пробовать.
velbox
я почти таким же кодом пользовался - нифига не работает. я думаю, что может из-за того, что там все вперемешку, js, php, html.


СПАСИБО ВСЕМ

Спустя 15 минут, 16 секунд (7.05.2011 - 21:24) Winston написал(а):
ИМХО на php это проще сделать.
PS: наверное это из-за мох минимальных знаний JS ph34r.gif

Спустя 57 секунд (7.05.2011 - 21:25) quickxyan написал(а):
sharki
та мне на чем угодно, но блин пока ниодин вариант так и не работает, у меня уже голова кружится.
хз, наверное надо отложить до завтра, а то так с ума сойти не долго)

Спустя 42 секунды (7.05.2011 - 21:25) quickxyan написал(а):
PHPprogramer
почему-то не работает

$check = isset($_POST['check']) ? "checked='checked'" : NULL;

Спустя 5 минут, 28 секунд (7.05.2011 - 21:31) Winston написал(а):
У тебя есть тег form
<form action="" method="POST">
....
</form>

Без этого не будет работать.
Потому что значение check берется из POST'a

Спустя 5 минут, 5 секунд (7.05.2011 - 21:36) sharki написал(а):
Вот так у меня работает, чуть исправил код PHPprogramer
<?php 
$check = !empty($_POST['check']) ? "checked" : "";

if(!empty($_POST['text']) && $_POST['check'] == 'on')
print_r($_POST);

?>
<form
action="" method="POST">
<input
type="text" name="text">
<input
type="checkbox" name="check" <?php echo $check; ?> ><br/>
<input
type="submit" name="go">
</form>

Спустя 3 минуты, 33 секунды (7.05.2011 - 21:39) Winston написал(а):
Цитата (sharki @ 7.05.2011 - 20:36)
!empty($_POST['check'])

Это не текстовое поле потому достаточно будет isset

Цитата (sharki @ 7.05.2011 - 20:36)
"checked"

тоже самое что и
checked='checked'
только у меня по стандартам xhtml

Спустя 50 секунд (7.05.2011 - 21:40) sharki написал(а):
PHPprogramer
Не спорю =) я на всякий случай)

Спустя 2 часа, 6 минут, 51 секунда (7.05.2011 - 23:47) quickxyan написал(а):
sharki
PHPprogramer
оооо. мужики я вообще сегодня жестко туплю) все работает. я же просто взял сам обработчик

$check = !empty($_POST['check']) ? "checked" : "";


и все не мог понять с какого извиняюсь х... оно будет работать. а вот отвлекся и сейчас глянул и понял, что я кретин не обратил внимания на строчку

<input type="checkbox" name="check" <?php echo $check; ?> ><br/>


_____________
печатаю со скоростью 320 минут в знак...

плюсуем карму не стесняемся
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.