Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Объединение в цикл (https://javascript.ru/forum/misc/1636-obedinenie-v-cikl.html)

baal1988 26.08.2008 22:23

Объединение в цикл
 
Необходимо объединить вот это в цикл
if (form.defect1.checked == 1) f.write(form.defect1.value + " ");
    if (form.defect2.checked == 1) f.write(form.defect2.value + " ");
    if (form.defect3.checked == 1) f.write(form.defect3.value + " ");
    if (form.defect4.checked == 1) f.write(form.defect4.value + " ");
    if (form.defect5.checked == 1) f.write(form.defect5.value + " ");
    if (form.defect6.checked == 1) f.write(form.defect6.value + " ");
    if (form.defect7.checked == 1) f.write(form.defect7.value + " "); 
    if (form.defect8.checked == 1) f.write(form.defect8.value + " ");


Понимаю что нужно делать что-то вроде этого но я незнаю синтаксис верный

for (var i=1; i<9; i++) {
           if (form.defect'i'.checked == 1) f.write(form.defect'i'.value + " ");
    }


Но я знаю что это не правильно я просто показал что я хочу , заранее спасибо за ответ ?

Андрей Параничев 26.08.2008 22:32

for (var i=1; i<9; i++) {
           if (form['defect'+i].checked == 1) f.write(form['defect'+i].value + " ");
    }

baal1988 26.08.2008 22:46

Цитата:

Сообщение от Андрей Параничев (Сообщение 5020)
for (var i=1; i<9; i++) {
           if (form['defect'+i].checked == 1) f.write(form['defect'+i].value + " ");
    }

Хорошо, я сделал как вы написали вот легенький примерчик почему он не работает заранее благодарю
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<style type="text/css">

#boh {
	position:absolute;
	left:60%;
}

</style>
</head>

<script type="text/javascript"> 

function Pokazat() {

    var spisok = document.getElementById("boh");
	var str2 = "";
	for (var i=1; i<9; i++) {
    str2 += form['defect'+i].value + " ";
	}
	spisok.innerHTML = str2;

}

</script>
<body>

<div id="boh">Privet</div>



<form>

<input type=button name="b2" id="b2" value="Submit" onclick="Pokazat()" />
<input type=checkbox name="defect1" value="1 Короззия" >
<input type=checkbox name="defect2" value="2 Короззия" >
<input type=checkbox name="defect3" value="3 Короззия" >
<input type=checkbox name="defect4" value="4 Короззия" >
<input type=checkbox name="defect5" value="5 Короззия" >
<input type=checkbox name="defect6" value="6 Короззия" >
<input type=checkbox name="defect7" value="7 Короззия" >
<input type=checkbox name="defect8" value="8 Короззия" >

</form>

</body>
</html>

ZoNT 26.08.2008 23:20

потому что сначала выполняется скрипт, а только потом в документе формируется форма :)

Скрипт надо поставить после формы...

Kolyaj 26.08.2008 23:24

ZoNT, -1

baal1988, вы переменной form куда обращаетесь? (это типа наводящий вопрос)

baal1988 26.08.2008 23:45

Цитата:

Сообщение от Kolyaj (Сообщение 5024)
ZoNT, -1

baal1988, вы переменной form куда обращаетесь? (это типа наводящий вопрос)

Я незнаю по-моему правильно обращаюсь ведь у меня все работает если не применять цикл значит дело не в обращении или в нем все же ?

ZoNT 27.08.2008 00:05

Цитата:

Сообщение от Kolyaj (Сообщение 5024)
ZoNT, -1

baal1988, вы переменной form куда обращаетесь? (это типа наводящий вопрос)

Ты прав, пойду я спать...

Kolyaj 27.08.2008 09:21

В приведенном скрипте переменная form нигде не инициализируется.


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