Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает фунция вывода модального окна. Ошибка Uncaught ReferenceError: fun (https://javascript.ru/forum/misc/72982-ne-rabotaet-funciya-vyvoda-modalnogo-okna-oshibka-uncaught-referenceerror-fun.html)

Bomberman 11.03.2018 21:33

Не работает фунция вывода модального окна. Ошибка Uncaught ReferenceError: fun
 
Делаю по видеоурокам практические задания, модальные окна, табы, меню и.т.д. Вчера все функции РАБОТАЛИ, изменения, как мне кажется, я не вносил в функции, они просто перестали работать, выдаёт ошибку Uncaught ReferenceError: fun3 is not defined
at HTMLSelectElement.onchange. Это одна из функций, я вырезал лишний код, посмотрел на эту одну функцию, всё равно не работает. Задумка такая: при выборе элемента из списка должно выскакивать модальное окно.

Вот код:




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<title>Практика Javascript</title>
<link href="css/style.css" type="text/css" rel="stylesheet" />
</head>
<body>
<select name ="" id="mySelect" onchange="fun3();">
<option value="">Apple</option>
<option value="">Orange</option>
<option value="">Pineapple</option>
<option value="">Banana</option>
</select>
<br>
</body>
</html>


function fun3() {
	var sel = document.getElementById('mySelect').selectedIndex;
		options = document.getElementById('mySelect').options;
	alert('Выбрана опция ' + options[sel].text);
}


Также имеется CSS файл, но думаю, он тут не при чём.
Помогите, пожалуйста. Неделю изучаю только JS, сам не справлюсь

рони 11.03.2018 21:42

Цитата:

Сообщение от Bomberman
Вот код:

где <script> ?

Bomberman 11.03.2018 22:13

Проблема решена)) проблема была не в этом тэге, он был, я его закомментировал, с ним также не работал код. Проблема в комментировании JS-кода была. Закомментировал дальнейший код с помощью /* без */, как только поставил */, код заработал. Буду учить синтаксис, не знал о таких тонкостях, спасибо за ответ вам)

Bomberman 11.03.2018 22:23

Хотя из-за дальнейшего кода, если его не комментировать, также код не выполняется
var tab;
	tabContent;
window.onload=function()
{
	tabContent = document.getElementsByClassName('tabContent');
	tab = document.getElementsByClassName('tab');
	hideTabsContent(1);
}

function hideTabsContent(a){
	for (var i=a; i<tabContent.length;i++) {
		tabContent[i]classList.remove('show');
		tabContent[i]classList.add('hide');
		tab[i].classList.remove('whiteborder');
	}
}

document.getElementById('tabs').onclick=function (event) {
	var target=event.target;
	if (target.className=='tab'){
		for (var i = 0; i < tab.length; i++) {
		  if(target==tab[i]){	
			showTabsContent(i);
			break;
		}

		
	}
  }
}

function showTabsContent(b) {
	if (tabContent[b].classList.contains('hide')) {
		hideTabsContent(0);
		tab[b].classList.add('whiteborder');
		tabContent[b].classList.remove('hide');
		tabContent[b].classList.add('show');
	}
}
не понимаю как он может влиять на предыдущий код

рони 11.03.2018 22:36

Bomberman,
строки 12, 13

Bomberman 11.03.2018 22:45

Спасибо


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