Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.01.2017, 14:06
Профессор
Отправить личное сообщение для s24344 Посмотреть профиль Найти все сообщения от s24344
 
Регистрация: 12.08.2015
Сообщений: 206

scope - область видимости
Здравствуйте. Подскажите, пожалуйста, как мне добраться до переменной flag__name в глобальной области видимости.
<div class="val__form">
	<form action="" method="get" class="form1">
		<div class="val__input_w">
			<input class="val__i val__input val__input_name" type="text" value="" name="fname" />
		</div>

		<div class="val__input_w">
			<input class="val__i val__input val__input_email" type="text" value="" name="email" />
		</div>

		<div class="val__input_w">
			<input class="val__i val__input" type="text" value="8 (_ _ _) _ _ _-_ _-_ _" name="" />
		</div>

		<div class="val__input_w val__input_w-checkbox">
			<input class="val__i val__input_checkbox" type="checkbox" name="" />
			<span>Заказать обратный звонок</span>
		</div>

		<div class="val__arrow-submit"><input class="val__arrow-submit_img" type="image" src="images/arrow-submit.png" disabled="true" /></div>
	</form>
</div>


$(function() {
	(function() {
		var
			pattern__name = /\S/,
			pattern__email = /\b[a-z0-9._]+@[a-z0-9.-]+\.[a-z]{2,4}\b/i;

		var
			name = $('input.val__input_name'),
			email = $('input.val__input_email'),
			submit = $('input.val__arrow-submit_img');

		var flag__name = false;

		function validation() {

			name.on('blur', function() {
				if ( name.val() != '' ) {

					if ( name.val().search(pattern__name) == 0 ) {
				 		name.removeClass("error").addClass("ok");

				 		flag__name = true; // Меняю значение на true
					}
					else {
						name.addClass("error");
					}
				}
				else {
					name.addClass("error");
				}
			});
		}

		validation();

		if ( flag__name ) { // Здесь false
			alert("true");
		}
	})();
});

Последний раз редактировалось s24344, 14.01.2017 в 14:09.
Ответить с цитированием
  #2 (permalink)  
Старый 14.01.2017, 14:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

s24344,
в чём проблема?
Ответить с цитированием
  #3 (permalink)  
Старый 14.01.2017, 14:16
Профессор
Отправить личное сообщение для s24344 Посмотреть профиль Найти все сообщения от s24344
 
Регистрация: 12.08.2015
Сообщений: 206

var flag__name определен в глобальной области видимости. По условию меняю значение переменной в локальной области видимости. Но это изменение внизу кода в глобальной области видимости не видно.
Ответить с цитированием
  #4 (permalink)  
Старый 14.01.2017, 14:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

s24344,
я в полном тупике от вашей логики ... возможно вы хотели так ...
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">


  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {

    var
      pattern__name = /\S/,
      pattern__email = /\b[a-z0-9._]+@[a-z0-9.-]+\.[a-z]{2,4}\b/i;

    var
      name = $('input.val__input_name'),
      email = $('input.val__input_email'),
      submit = $('input.val__arrow-submit_img');

    var flag__name = false;
    name.on('blur', validation);
    function validation() {

        if ( name.val() != '' ) {

          if ( name.val().search(pattern__name) == 0 ) {
         		name.removeClass("error").addClass("ok");

         		flag__name = true; // Меняю значение на true
          }
          else {
            name.addClass("error");
          }
        }
        else {
          name.addClass("error");
        }
        alert(flag__name);
    }

});

  </script>
</head>

<body>
<div class="val__form">
  <form action="" method="get" class="form1">
    <div class="val__input_w">
      <input class="val__i val__input val__input_name" type="text" value="" name="fname" />
    </div>

    <div class="val__input_w">
      <input class="val__i val__input val__input_email" type="text" value="" name="email" />
    </div>

    <div class="val__input_w">
      <input class="val__i val__input" type="text" value="8 (_ _ _) _ _ _-_ _-_ _" name="" />
    </div>

    <div class="val__input_w val__input_w-checkbox">
      <input class="val__i val__input_checkbox" type="checkbox" name="" />
      <span>Заказать обратный звонок</span>
    </div>

    <div class="val__arrow-submit"><input class="val__arrow-submit_img" type="image" src="images/arrow-submit.png" disabled="true" /></div>
  </form>
</div>


</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 14.01.2017, 14:30
Профессор
Отправить личное сообщение для s24344 Посмотреть профиль Найти все сообщения от s24344
 
Регистрация: 12.08.2015
Сообщений: 206

Я хотел перевести flag__name в true и, например, в других (будущих) функциях также flag в true. А в конце кода в условии, если все flag true убрать на кнопке submit атрибут disabled.
Ответить с цитированием
  #6 (permalink)  
Старый 14.01.2017, 14:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

s24344,
Как сделать чтобы после исправления ошибки текст не оставался красным
Ответить с цитированием
  #7 (permalink)  
Старый 14.01.2017, 15:22
Профессор
Отправить личное сообщение для s24344 Посмотреть профиль Найти все сообщения от s24344
 
Регистрация: 12.08.2015
Сообщений: 206

Спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Promise и область видимости переменных -VenoM- Node.JS 11 11.11.2016 15:38
Область видимости при роутинге Wizlight Angular.js 2 10.11.2015 06:55
Помогите пож с JSON, передача id ссылки. wisma jQuery 22 10.02.2014 15:36
область видимости Ultimatum Общие вопросы Javascript 2 19.06.2011 10:47
можно ли включить функцию в глобальную область видимости из файла maxval Элементы интерфейса 13 04.10.2009 07:11