Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вывести массив с checkbox (https://javascript.ru/forum/misc/28569-vyvesti-massiv-s-checkbox.html)

nezzard 24.05.2012 23:10

Вывести массив с checkbox
 
Добрый вечер, помогите написать скрипт. Имеются пару групп чекбоксо

<form method=get action="#" name="chekcms">
	<input type=checkbox name="wordpress">wordpress<br>
	<input type=checkbox name="ucoz">ucoz<br>
	<input type=checkbox name="dle">dle<br>
	</form>

	<form method=get action="#" name="tagform">
	<input type=checkbox name="tag1">tag1<br>
	<input type=checkbox name="tag2">tag2<br>
	<input type=checkbox name="tag3">tag3<br>
	<input type=checkbox name="tag4">tag4<br>
	</form>


Помогите вывести резултат выбранных чекбоксов в массив и подставить вот сюда

window.location = 'http://site.ru/tag/' + energy + '&orderby=title&order=asc/';

bes 25.05.2012 00:30

Что именно вывести и в какой форме представить не совсем понятно.

<form  method=get action="#" name="chekcms">
  <input type=checkbox name="wordpress">wordpress<br>
  <input type=checkbox name="ucoz">ucoz<br>
  <input type=checkbox name="dle">dle<br>
</form>

<button id="myBut">click</button>

<script>
myBut.onclick = function () {
  var inp = document.getElementsByTagName('input');
  var length = inp.length;
  var mas = [];

  for (var i = 0; i < length; i++) {
    mas.push(inp[i].checked);
  }
  alert(mas);

}
</script>

Svetlana_ 05.10.2012 22:05

Скажите, как вывести результат в строку через запятую? Не true или false, а значения выбранных боксов.

bes 05.10.2012 22:10

join

Svetlana_ 05.10.2012 22:15

Вы можете представить готовый код? В ява-скрипт совсем не разбираюсь.

bes 05.10.2012 22:25

<form  method=get action="#" name="chekcms">
  <input type=checkbox name="wordpress">wordpress<br>
  <input type=checkbox name="ucoz">ucoz<br>
  <input type=checkbox name="dle">dle<br>
</form>

<button id="myBut">click</button>

<script>
myBut.onclick = function () {
	var inp = document.getElementsByTagName('input');
	var length = inp.length;
	var mas = [];

	for (var i = 0; i < length; i++) {
		mas.push(inp[i].nextSibling.textContent);//nodeValue, data
	}
	alert(mas.join(','));

}
</script>

Svetlana_ 05.10.2012 23:17

Выводятся не выбранные значения, а все...:(

bes 05.10.2012 23:24

так и тут не экстрасенсы ;)
<form  method=get action="#" name="chekcms">
  <input type=checkbox name="wordpress">wordpress<br>
  <input type=checkbox name="ucoz">ucoz<br>
  <input type=checkbox name="dle">dle<br>
</form>

<button id="myBut">click</button>

<script>
myBut.onclick = function () {
	var inp = document.getElementsByTagName('input');
	var length = inp.length;
	var mas = [];

	for (var i = 0; i < length; i++) {
		if (inp[i].checked) {
			mas.push(inp[i].nextSibling.nodeValue);
		}
	}
	alert(mas.join(','));

}
</script>

lord2kim 05.10.2012 23:24

Svetlana_,
<form  method=get action="#" name="chekcms">
  <input type=checkbox name="wordpress">wordpress<br>
  <input type=checkbox name="ucoz">ucoz<br>
  <input type=checkbox name="dle">dle<br>
</form>
 
<button id="myBut">click</button>
 
<script>
myBut.onclick = function () {
    var inp = document.getElementsByTagName('input');
    var length = inp.length;
    var mas = [];
 
    for (var i = 0; i < length; i++) {
        if (inp[i].checked) {
             mas.push(inp[i].nextSibling.textContent);//nodeValue, data
        }
    }
    alert(mas.join(','));
 
}
</script>

Svetlana_ 06.10.2012 00:26

Спасибо, парни. То, что нужно. :)

Использовать 'input' удобно ли? В форме могут оказаться другие поля, не чекбокс.

"так и тут не экстрасенсы" - "вы не знаете? так я вам объясню"
Русский язык не имеет ничего общего с производным от языка - проггерским русским. Кроме букв. Нонсенс. Но так есть. Не всегда найдёшься в какой такой форме задать вопрос, чтобы он был понятен не только русскому, который суть ухватит "влёт", но и русскому проггеру. Что поделать. Изменение сознания налицо :)

Ещё раз. Большое спасибо. Очень помогли. :)


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