Здравствуйте!
Подскажите, пожалуйста, как побороть ошибку вида "Uncaught ReferenceError: employee_or_subdivision is not defined".
Есть вот такой файл JavaScript (
employees.self-ca514fd36f817a8007596c8779e8a7266cea57082fa2d16368372ebc46d12245.js):
(function() {
var employee_or_subdivision;
employee_or_subdivision = function(a) {
var label;
label = a.value;
if (label === '1') {
$('#position_name').style.display = 'block';
} else {
$('#position_name').style.display = 'none';
}
};
}).call(this);
Это сгенерированный в Ruby On Rails код на основе следующего кода CoffeeScript:
employee_or_subdivision = (a) ->
label = a.value
if label == '1'
$('#position_name').style.display = 'block'
else
$('#position_name').style.display = 'none'
return
А этот код я сгенерировал
здесь.
Смысл js-кода - убирать / показывать определённый div при выборе пользователем radiobox'а.
К сожалению, js-код "не цепляется": браузер пишет ошибку "Uncaught ReferenceError: employee_or_subdivision is not defined". Как я понял из прочтения форумов, эта ошибка говорит о том, что такой объект не создан. Но он ведь создан в javascript-файле! И этот файл в коде страницы указан ниже объявления jquery-файла.
Подскажите, пожалуйста, что я не так делаю?
Код странички в браузере:
<html>
<head>
<title>Добавление нового сотрудника / подразделения | Web-СКК</title>
<link rel="stylesheet" media="all" href="/assets/about.self-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/bootstrap.self-3c02d8f9ff6a2157dee995e8be538ee8f863a97c3b6df198084e1fe81de4d55d.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/employees.self-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/equipments.self-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/factors.self-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/influences.self-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/organizations.self-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/persons.self-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css?body=1" data-turbolinks-track="true" />
<link rel="stylesheet" media="all" href="/assets/application.self-e80e8f2318043e8af94dddc2adad5a4f09739a8ebb323b3ab31cd71d45fd9113.css?body=1" data-turbolinks-track="true" />
<script src="/assets/jquery.self-660adc51e0224b731d29f575a6f1ec167ba08ad06ed5deca4f1e8654c135bf4c.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/jquery_ujs.self-e87806d0cf4489aeb1bb7288016024e8de67fd18db693fe026fe3907581e53cd.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/turbolinks.self-c5acd7a204f5f25ce7a1d8a0e4d92e28d34c9e2df2c7371cd7af88e147e4ad82.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/about.self-877aef30ae1b040ab8a3aba4e3e309a11d7f2612f44dde450b5c157aa5f95c05.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/employees.self-ca514fd36f817a8007596c8779e8a7266cea57082fa2d16368372ebc46d12245.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/equipments.self-877aef30ae1b040ab8a3aba4e3e309a11d7f2612f44dde450b5c157aa5f95c05.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/factors.self-877aef30ae1b040ab8a3aba4e3e309a11d7f2612f44dde450b5c157aa5f95c05.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/influences.self-877aef30ae1b040ab8a3aba4e3e309a11d7f2612f44dde450b5c157aa5f95c05.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/organizations.self-877aef30ae1b040ab8a3aba4e3e309a11d7f2612f44dde450b5c157aa5f95c05.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/persons.self-877aef30ae1b040ab8a3aba4e3e309a11d7f2612f44dde450b5c157aa5f95c05.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/application.self-3b8dabdc891efe46b9a144b400ad69e37d7e5876bdc39dee783419a69d7ca819.js?body=1" data-turbolinks-track="true"></script>
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="ZOdPn99Oe4k/as9DJggF5wB2NUJK/BmAwP/prHzOL+U75Vi8PoCPyv8B1ovJagbNXoTWbnphbq+tlG0PVSruFQ==" />
</head>
<body>
<div class="navbar navbar-default navbar-static-top">
<div class="container">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">Web-СКК</a>
<div class="navbar-collapse collapse navbar-responsive-collapse">
<ul class="nav navbar-nav">
<li><a href="/organizations">Организации</a></li>
<li><a href="/about/service">О сервисе</a></li>
<li>
<a href="/persons/profile">Супер администратор</a>
</li>
<li><a rel="nofollow" data-method="delete" href="/users/sign_out">Выход из системы</a> </li>
<!-- /if user_signed_in -->
</ul>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="page-header">
<h1>Добавление нового сотрудника / подразделения</h1>
</div>
<form class="form-horizontal employee" id="new_employee" action="/organizations/19/employees" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="ddKSeD9PyF7pRz+IBkIc/0owDeyPeu4osa5H6231nlMq0IVb3oE8HSksJkDpIB/VFMLuwL/nmQfcxcNIRBFfow==" />
<div class="form-group">
<label class="control-label col-lg-2" style="padding-top:0px;" for="employee_is_user">Сотрудник или подразделение</label>
<div class="col-lg-10">
<input onChange="employee_or_subdivision(this)" type="radio" value="1" checked="checked" name="employee[is_user]" id="employee_is_user_1" />
<label for="employee_is_user_1">Сотрудник</label>
<input onChange="employee_or_subdivision(this)" type="radio" value="0" name="employee[is_user]" id="employee_is_user_0" />
<label for="employee_is_user_0">Подразделение</label>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-2" style="padding-top:0px;" for="employee_title">Title</label>
<div class="col-lg-10">
<input class="form-control" type="text" name="employee[title]" id="employee_title" />
</div>
</div>
<div class="form-group" id="position_name">
<label class="control-label col-lg-2" style="padding-top:0px;" for="employee_position_name">Должность сотрудника</label>
<div class="col-lg-10">
<input class="form-control" type="text" name="employee[position_name]" id="employee_position_name" />
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-2" style="padding-top:0px;" for="employee_parent_id">Родительское подразделение</label>
<div class="col-lg-10">
<select class="form-control" name="employee[parent_id]" id="employee_parent_id"><option value=""></option>
<option value="1">Цех по производству печенек</option>
<option value="3">Цех по фасовке печенек</option>
<option value="4">Склад</option></select>
</div>
</div>
<div class="form-group">
<div class="col-lg-offset-2 col-lg-10">
<input type="submit" name="commit" value="Добавить" class="btn btn-primary" />
<a class="btn btn-default" href="/organizations/19/employees">Отмена</a>
</div>
</div>
</form>
</div>
</div> <!-- /row -->
<footer>
<p>© Web-СКК, 2016</p>
</footer>
</div> <!-- /container -->
</body>
</html>