Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Возврат значения (https://javascript.ru/forum/misc/27778-vozvrat-znacheniya.html)

Rompo 24.04.2012 17:43

Возврат значения
 
не могу сообразить, хочу сделать чтоб по клику на кнопку, срабатывала ф-ия, которая возвращает порядковый индекс из списка, где ошибка?

<script>
		function selectGama1(){
			var choice = document.glink1.selectedIndex;	
			return choice;
		}
</script>


-----------------------------
<select class="Glink1" name="glink1" size=1>
				
					<option selected value="0" > Г1 </option>
					<option value="1" > Г13 </option>
					<option value="2" > Г20 </option>
					<option value="3" > Г23 </option>
					
				</select>

<input type="button" value="Зашифровать" class="B1"  onClick="selectGama1()">

Маэстро 25.04.2012 21:39

<html>
<body>
<script>
		function selectGama1(){
         //var choice = document.glink1.selectedIndex;	
         var choice = document.getElementById("glink1").selectedIndex;
         alert(choice);
		 return choice;
		}
</script>

<select class="Glink1" id="glink1" size=1>
				
					<option selected value="0" > Г1 </option>
					<option value="1" > Г13 </option>
					<option value="2" > Г20 </option>
					<option value="3" > Г23 </option>
					
				</select>

<input type="button" value="Зашифровать" class="B1"  onClick="selectGama1()">
</body>
</html>

Rompo 26.04.2012 06:46

ага, тут понял, разобрался, спасибо.
только вот мне нужно это значение использовать в следующей функции:
function printGama1(){
			var gama = ['01001010 11000011 10011011 11101000 10010101', '10101001 01011000 01110011 01111101 00010010', '00101010 10010101 10000111 00110111 11010001', '01001010 10100101 01100001 11001101 11110100'];
			document.write(gama[selectGama1()]); // почему не печатает строку из массива? если вместо selectGama1() подставить конкретное значение, то все работает. 
		}

printGama1();

Маэстро 26.04.2012 12:26

Цитата:

Сообщение от Rompo (Сообщение 171360)
почему не печатает строку из массива? если вместо selectGama1() подставить конкретное значение, то все работает.

Вы не привели весь код, поэтому трудно сказать почему так. А должно печать. Возможно, это у Вас происходит из-за того, что функция selectGama1() запускается ДО создания элемента select.
И острожно используйте document.write - это сотрет весь код страницы; лучше используйте обычный alert().
<html>
<body>
<select class="Glink1" id="glink1" size=1>
				
					<option selected value="0" > Г1 </option>
					<option value="1" > Г13 </option>
					<option value="2" > Г20 </option>
					<option value="3" > Г23 </option>
					
				</select>

<input type="button" value="printGama1" class="B1"  onClick="printGama1()"> 
  
<script>
		function selectGama1(){
         //var choice = document.glink1.selectedIndex;	
         var choice = document.getElementById("glink1").selectedIndex;
         //alert(choice);
		 return choice;
		};
  
function printGama1(){
			var gama = ['A1001010 11000011 10011011 11101000 10010101', 'B0101001 01011000 01110011 01111101 00010010', 'C0101010 10010101 10000111 00110111 11010001', 'D1001010 10100101 01100001 11001101 11110100'];
  //document.write(gama[selectGama1()]); 
  alert(gama[selectGama1()]);
		}

//printGama1();  
</script>

</body>
</html>

Rompo 26.04.2012 17:09

Вложений: 1
А как сделать, чтоб печать значения была прямо в документ? Я делаю демонстрационную программу "Кодирование - декодирование информации".. хочу просто пошагово продемонстрировать процесс.. нужно выводить результат на страницу, и сохранять его.

Прикрепил пример.

Маэстро 26.04.2012 18:45

Цитата:

Сообщение от Rompo (Сообщение 171427)
А как сделать, чтоб печать значения была прямо в документ?

Разместите на странице контейнер DIV ("info")
и выводите в него всё, что хотите:
info.innerHTML = "мой текст......";

Rompo 27.04.2012 12:32

Спасибо!


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