Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2016, 16:09   #1
poseidin
Новичок
Джуниор
 
Регистрация: 08.07.2016
Сообщений: 2
По умолчанию if не работает с массивом

Скажу сразу, в js я новичок. Я хотел сделать так чтобы при нажатии на кнопку в ruka выпадал случайный элемент массива и в зависимости какой элемент выпал изменились значения полей as, bs или cs. Так вот, случайный элемент выпадает, но при любых условиях изменяется только первое поле. Подскажите, как это исправить, пожалуйста.
Код:
function prom(){
	
	var ruka = new Array('красная', 'зеленная', 'синяя');
	var rand = Math.floor(Math.random() * ruka.length);
document.promi.ruka.value= ruka[rand];


if(rand = "красная"){
	a1++;
	document.stat.as.value= a1;
}
else if(rand = "зеленная"){
	b1++;
	document.stat.bs.value= b1;
}
else if(rand = "синяя"){
	c1++;
	document.stat.cs.value= c1;	
}

}
Код HTML:
<form name="stat">
	A<input type="text" name="as" value="1"></input> 
	B<input type="text" name="bs" value="1"></input> 
	C<input type="text" name="cs" value="0.5"></input> 
</form>
<form name="promi">
	<input type="text" name="ruka" value=" "></input><br /><br />
	<input type="button" name="but_ruka" value="Button" onclick="prom();"></input>
</form>
poseidin вне форума Ответить с цитированием
Старый 08.07.2016, 17:46   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

ты сравниваешь не с элементом массива, а с индексом
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 08.07.2016, 17:50   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

и знак равно это не сравнение, а присвоение
if rand = "красная" - присвоить rand значение "красная"

ну и переменные надо определить, прежде, чем использовать:
Код:
var a1=1,b1=1,c1=1;

function prom(){
	
	var ruka = new Array('красная', 'зеленная', 'синяя');
	var rand = Math.floor(Math.random() * ruka.length);
	document.promi.ruka.value= ruka[rand];


	if(rand == 0){
		a1++;
		document.stat.as.value= a1;
	}
	else if(rand == 1){
		b1++;
		document.stat.bs.value= b1;
	}
	else if(rand == 2){
		c1++;
		document.stat.cs.value= c1;	
	}
}

Последний раз редактировалось Serge_Bliznykov; 08.07.2016 в 17:54.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.07.2016, 22:07   #4
poseidin
Новичок
Джуниор
 
Регистрация: 08.07.2016
Сообщений: 2
По умолчанию

Спасибо. Путаю индексы с элементами.
poseidin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться - не работает файл со скриптом. При загрузке из консоли этот же скрипт работает Kazik JavaScript, Ajax 6 27.11.2015 16:09
Не работает анимация. Механизм работает лишь при изменения числа в едит1. Студент ММИ Помощь студентам 1 18.05.2015 07:39
Sendmail работает, функция mail() работает, но есть проблема. PavelNAndreev PHP 8 27.01.2014 12:45
не работает relese версия проги и debug работает тока на моем компе D][mon C# (си шарп) 2 04.05.2012 20:21
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56