Jump to content
  • 0

Состояние radio


andyarus
 Share

Question

Как получить checked или нет <input type="radio" name="logins"> ?!

Ща так


<form name="selecttelephone">
<input type="radio" name="logins" value="all"><span style="cursor:pointer;" onclick="hide('logins');document.selecttelephone.logins[0].checked=true">ВСЕ</span><br />
<input type="radio" name="logins" value="checkbox"><span style="cursor:pointer;" onclick="show('logins');document.selecttelephone.logins[1].checked=true">Выборочно</span>
</form>

<script language="javascript">

function show(eid)
{
var gel = document.getElementById(eid);
gel.style.display = '';
}

function hide(eid)
{
var gel = document.getElementById(eid);
gel.style.display = 'none';
}

</script>

<div id="logins" style="display:none;"></div>

Надо, чтобы было тоже самое, когда выбираешь radio.

Если selecttelephone.logins[0] == checked, то hide('logins');

Если selecttelephone.logins[1] == checked, то show('logins');

Как это на javascript делается? :huh:

ы, если добавить <input type="radio" name="logins" value="all" onclick="show('logins')">, то все работает как нужно. пробовал так, но код show/hide нерабочий был, а ща забыл затестить.

но вопрос как получить checked или нет <input type="radio" name="logins"> ?! остается открытым.

надо, чтобы при selecttelephone.logins[1] == checked

появлялся <span style="cursor:pointer;" onclick="showhide('logins')" id="hlogins">Скрыть список</span>

function showhide(eid)
{
var gel = document.getElementById(eid);
var isvis = gel.style.display ? 1 : 0;
gel.style.display = isvis ? '' : 'none';
var th = document.getElementById('h'+eid);
if(th)
{
var rl = ['Скрыть список', 'Показать список'];
th.innerHTML = th.innerHTML.replace(rl[isvis], rl[1-isvis]);
}
}

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Сделал все как хотел

<form action="config.php" method="POST" name="selecttelephone">
<input type="radio" name="logins" value="all"<?php echo $configcheckedall; ?> onclick="hide('logins');hide('spisok')"><span style="cursor:pointer;" onclick="hide('logins');hide('spisok');document.selecttelephone.logins[0].checked=true">ВСЕ</span><br />
<input type="radio" name="logins" value="checkbox"<?php echo $configcheckedcheckbox; ?> onclick="show('logins');show('spisok')"><span style="cursor:pointer;" onclick="show('logins');show('spisok');document.selecttelephone.logins[1].checked=true">Выборочно</span>
<span id="spisok" style="cursor:pointer;display:none;" onclick="showhide('logins')" id="hlogins">Скрыть список</span>
</form>

<script language="javascript">
function show(eid)
{
var gel = document.getElementById(eid);
gel.style.display = '';
}

function hide(eid)
{
var gel = document.getElementById(eid);
gel.style.display = 'none';
}

function showhide(eid)
{
var gel = document.getElementById(eid);
var isvis = gel.style.display ? 1 : 0;
gel.style.display = isvis ? '' : 'none';
var th = document.getElementById('h'+eid);
if(th)
{
var rl = ['Скрыть список', 'Показать список'];
th.innerHTML = th.innerHTML.replace(rl[isvis], rl[1-isvis]);
}
}
</script>



<?php

if($configcheckedcheckbox == ' checked') {
echo <<<EOD
<script language="javascript">
show('logins');
show('spisok');
</script>
EOD;
}
?>

Можно как-то проще было сделать?)

Можно заменить пхп код на javascript? т.е. при selecttelephone.logins[1] == checked на страницу добавлялся javascript

<script language="javascript">
show('logins');
show('spisok');
</script>

Вопрос остается открытым: как получить checked или нет <input type="radio" name="logins"> ?!

Link to comment
Share on other sites

  • 0

ага, спасибо! я прост не видел твоего сообщения, когда отправлял последний пост.

var a =  document.selecttelephone.logins[1];
if (a.cheked) {
innerHTMl = '<script language="javascript">
show('logins');
show('spisok');
</script>';
}

как правильно вставить на страницу? есть в javascript аналог heredoc или howdoc ?

Link to comment
Share on other sites

  • 0

:facepalmxd: зачем же innerHTML придумывать....


<script language="javascript">
var a = document.selecttelephone.logins[1]; //конечно не пойму зачем эта единичка

if (a.cheked) {show('logins'); show('spisok');}
else {//ничего не делаем или что ты там хочешь.}

</script>

Link to comment
Share on other sites

  • 0

я в javascript не бум-бум)

document.selecttelephone.logins[1]; - нашел этот код. как я понял нумерация кнопок идет сверху вниз, начиная с [0]

так не работает почему-то

var a =  document.selecttelephone.logins[1];
if (a.cheked) {
show('logins');
show('spisok');
}

как сделать, чтобы заработало

или как вставить на страницу

<script language="javascript">
show('logins');
show('spisok');
</script>

с помощью javascript?

а да, это должно срабатывать при загрузке страницы.

т.е. не когда нажимаю на document.selecttelephone.logins[1]

а именно когда страница только открывается

т.е. с помощью javascript нельзя получить состояние "неактивного" (хз как правильно) элемента?

Link to comment
Share on other sites

  • 0

Так. Значит 1 эту выкинь. Она будет работать только после var a = document.selecttelephone.logins;

В таком виде a[1] Понятно?.

При загрузке странице JS тоже спокойно выполняется без любых действий (если не описана функция)

И да, счет всего в JS идет с 0.

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

  • Like 1
Link to comment
Share on other sites

  • 0

я хочу аналог на javascript

<?php
if($configcheckedcheckbox == ' checked') {
echo <<<EOD
<script language="javascript">
show('logins');
show('spisok');
</script>
EOD;
}
?>

блин, как все просто оказывается. надо было так

var a =  document.selecttelephone.logins[1].checked;
if(a) {
show('logins');
show('hlogins'); // == show('spisok');
}

благодарю за помощь!

Edited by andyarus
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy