Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 25.11.2020, 20:32
Интересующийся
Отправить личное сообщение для Владимѣръ Посмотреть профиль Найти все сообщения от Владимѣръ
 
Регистрация: 24.11.2020
Сообщений: 29

Да, код у меня слишком большой. Просто в функциях, которые я выношу, не объявлены все переменные. Они берутся из кода выше. В этом то и проблема.
Ответить с цитированием
  #12 (permalink)  
Старый 25.11.2020, 20:47
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,719

Сообщение от Владимѣръ
Просто в функциях, которые я выношу, не объявлены все переменные
Это не имеет значения. Внешняя (глобальная) переменная должна быть объявлена к моменту выполнения функции, а не ее определения.
Как вы загружаете скрипты? Как обычные или как модули? Переменные объявленные в модулях не будут видны, кроме экспортируемых и импортируемых. Для обычных скриптов любая внешняя переменная (объявленная вне функции) будет видна где угодно (если, конечно в данной функции нет локальных переменных с таким же именем)

Последний раз редактировалось voraa, 25.11.2020 в 20:53.
Ответить с цитированием
  #13 (permalink)  
Старый 26.11.2020, 13:04
Интересующийся
Отправить личное сообщение для Владимѣръ Посмотреть профиль Найти все сообщения от Владимѣръ
 
Регистрация: 24.11.2020
Сообщений: 29

Вчера засыпал, и меня осенило: это же у меня весь скрипт идет внутри функции 'on-submit'. Получается, что и функции, которые я выношу не видят переменных. Вот причина! Значит наверное уже ничего не поделаешь... или что-то можно?
Ответить с цитированием
  #14 (permalink)  
Старый 26.11.2020, 13:07
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,719

Вынести переменные из функции 'on-submit' на глобальный уровень.
Ответить с цитированием
  #15 (permalink)  
Старый 26.11.2020, 13:10
Интересующийся
Отправить личное сообщение для Владимѣръ Посмотреть профиль Найти все сообщения от Владимѣръ
 
Регистрация: 24.11.2020
Сообщений: 29

А как это сделать?
Ответить с цитированием
  #16 (permalink)  
Старый 26.11.2020, 13:16
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,719

Ну писать
var x (или let x) не внутри функции, а снаружи.
Ответить с цитированием
  #17 (permalink)  
Старый 26.11.2020, 13:29
Интересующийся
Отправить личное сообщение для Владимѣръ Посмотреть профиль Найти все сообщения от Владимѣръ
 
Регистрация: 24.11.2020
Сообщений: 29

Так в том то и дело, что я извлекаю данные из формы внутри функции 'on-submit' и там же продолжаю работать. Я из функции могу выводить Return'ом только одно значение, а у меня их много. Просто может я как-то своеобразно извлекаю данные из формы, но у меня получилось только так:
$('form').bind('submit', function(e) {
		let Name1 = $(this).children('input[name="Name1"]').val();
		let Name2 = $(this).children('input[name="Name2"]').val();
		let dat = $(this).children('input[name="dat"]').val();
		let tim = $(this).children('input[name="tim"]').is(':checked');

Ну и дальше я начинаю с ними работать. И все это внутри одной функции, как-то так...
Ответить с цитированием
  #18 (permalink)  
Старый 26.11.2020, 13:42
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,719

let Name1, Name2, dat, tim;

$('form').bind('submit', function(e) {
        Name1 = $(this).children('input[name="Name1"]').val();
        Name2 = $(this).children('input[name="Name2"]').val();
        dat = $(this).children('input[name="dat"]').val();
        tim = $(this).children('input[name="tim"]').is(':checked');
Ответить с цитированием
  #19 (permalink)  
Старый 26.11.2020, 14:03
Интересующийся
Отправить личное сообщение для Владимѣръ Посмотреть профиль Найти все сообщения от Владимѣръ
 
Регистрация: 24.11.2020
Сообщений: 29

Надо попробовать, так я еще не пробовал. Ближе к вечеру, Благодарю!
Ответить с цитированием
  #20 (permalink)  
Старый 26.11.2020, 14:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,080

Сообщение от Владимѣръ
может я как-то своеобразно извлекаю данные из формы
https://api.jquery.com/serialize/
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование скриптов в нескольких проектах jsru_ Общие вопросы Javascript 0 04.09.2013 10:55
Оптимизация выполнения скриптов Mcqueen Общие вопросы Javascript 1 10.01.2013 23:56
Оптимизация скриптов greatilya Общие вопросы Javascript 4 01.06.2012 09:56
Оптимизация кода. Правила хорошего тона при написании скриптов [ANTI]CheateR jQuery 1 18.09.2010 08:41
Оптимизация скриптов object Ваши сайты и скрипты 9 21.07.2008 13:58