Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Изменение стилей radio при активации checkbox (https://javascript.ru/forum/events/25399-izmenenie-stilejj-radio-pri-aktivacii-checkbox.html)

brigz 04.02.2012 11:26

Изменение стилей radio при активации checkbox
 
Суть проблемы:
имеется checkbox, если пользователь ставит в поле галку в соседнем контейнере должны появится две кнопки radio.
Код:

<script type="text/javascript">
function myfunc() {
    if (document.form.apname.checked == true) {
						document.getElementById('new').style.display = "block";

							
    } else{
						document.getElementById('new').style.display = "none";

    }
}
</script>

<form id="form" name="form" method="post" action="">
    <div>
        <input type="checkbox" name="apname" id="apCheckDis">
    </div>
    <div>

        <input type="radio" name="atname" id="new" value="0" style="myfunc()">
        <input type="radio" name="atname" id="new" value="1" style="myfunc()">
        </div>

</form>


Помогите разобраться новичку почему не работает и где ошибка?

dmitriymar 04.02.2012 14:37

Цитата:

Сообщение от brigz
style="myfunc()

когда это стиль стал событием?

Раед 04.02.2012 14:55

<script type="text/javascript">
function myfunc() {
    if (document.form.apname.checked == true) {
                        document.getElementById('new').style.display = "block";
 
                             
    } else{
                        document.getElementById('new').style.display = "none";
 
    }
}
</script>
 
<form id="form" name="form" method="post" action="">
    <div>
        <input type="checkbox" name="apname" id="apCheckDis" onclick="myfunc()">
    </div>
    <div id="new" style="display:none">
 
        <input type="radio" name="atname" value="0">
        <input type="radio" name="atname" value="1">
        </div>
 
</form>

brigz 04.02.2012 17:18

Спасибо, все работает. Но... как быть, если в checkbox уже установлен флажок изначально при загрузке страницы

<input type="checkbox" name="apname" id="apCheckDis" onclick="myfunc()" [B]checked[/B]>


(checked передает РНР из файла конфигурации). Т.е. когда

<input type="checkbox" name="apname" id="apCheckDis" onclick="myfunc()">
- работает, а

<input type="checkbox" name="apname" id="apCheckDis" onclick="myfunc()" [B]checked[/B]>
- не работает, вернее работает, но через цикл кликов (загрузка страницы -> активный checkbox(JS не срабатывает) -> click-> неактивный checkbox -> click ->активный checkbox(JS срабатывает). А как сделать чтобы и при загрузке страницы с активным checkbox-сом подключались кнопки radio?

рони 04.02.2012 17:34

brigz,
Поставьте скрипт после формы и добавьте в него запуск функции.

brigz 04.02.2012 17:43

"добавьте в него запуск функции" - что под этим подразумевается (извиняюсь, в JS все не так как в РНР)?

рони 04.02.2012 18:27

brigz,
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
  <title></title>
</head>

<body>
<form id="form" name="form" method="post" action="">
    <div>
        <input type="checkbox" name="apname" id="apCheckDis" onclick="myfunc()" checked="checked">
    </div>
    <div id="new" style="display:none">

        <input type="radio" name="atname" value="0">
        <input type="radio" name="atname" value="1">
        </div>

</form>
<script type="text/javascript">
function myfunc() {
    if (document.form.apname.checked == true) {
                        document.getElementById('new').style.display = "block";


    } else{
                        document.getElementById('new').style.display = "none";

    }
}
myfunc()
</script>
</body>

</html>

brigz 04.02.2012 18:45

Спасибо всем за помощь!!! Все отлично работает!
Раед написал: "JavaScript, JavaScript... Им нельзя не восхищаться" - согласен...буду вникать.
СМЕСЬ JS И PHP = БОМБА

brigz 04.02.2012 19:47

Еще раз всем спасибо!


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