Да, код у меня слишком большой. Просто в функциях, которые я выношу, не объявлены все переменные. Они берутся из кода выше. В этом то и проблема.
|
Цитата:
Как вы загружаете скрипты? Как обычные или как модули? Переменные объявленные в модулях не будут видны, кроме экспортируемых и импортируемых. Для обычных скриптов любая внешняя переменная (объявленная вне функции) будет видна где угодно (если, конечно в данной функции нет локальных переменных с таким же именем) |
Вчера засыпал, и меня осенило: это же у меня весь скрипт идет внутри функции 'on-submit'. Получается, что и функции, которые я выношу не видят переменных. Вот причина! Значит наверное уже ничего не поделаешь... или что-то можно?
|
Вынести переменные из функции 'on-submit' на глобальный уровень.
|
А как это сделать?
|
Ну писать
var x (или let x) не внутри функции, а снаружи. |
Так в том то и дело, что я извлекаю данные из формы внутри функции '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'); Ну и дальше я начинаю с ними работать. И все это внутри одной функции, как-то так... |
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'); |
Надо попробовать, так я еще не пробовал. Ближе к вечеру, Благодарю!
|
Цитата:
|
Часовой пояс GMT +3, время: 19:54. |