Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 21.08.2015
Сообщений: 2

Динамическая передача данных на Ajax

13.09.2015, 22:43. Показов 1340. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте форумчане. Собственно сначала код:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
<script>
function osoby_calc2(){
var kil_osoby = document.getElementById('kil_osoby').value;
for( var i=0;i<kil_osoby;i++){
window['point_' + i] = document.getElementById("birthdayosoba_"+i).value;
alert(point_0);//чисто для проверки работоспособности
}
    $("#osoby_calc3").load("osoby_calc.php", { kil_osoby: kil_osoby
         });    
}        
</script>
А теперь поясню:
Есть форма в которую через аякс подгружаются поля. Каждому полю присвоен id, например birthdayosoba_0 birthdayosoba_1 и т.д. Есть также поле с количеством полей которое мне нужно добавить. Ну словом в самом скрипте я достаю количество полей и присваиваю значение переменной. Потом в цикле провожу присвоение динамичным переменным динамичные значения)). А дальше мне нужно выбросить полученные значения на обработчик через аякс.
А теперь загадка. Когда убираю
JavaScript
1
2
3
4
for( var i=0;i<kil_osoby;i++){
window['point_' + i] = document.getElementById("birthdayosoba_"+i).value;
alert(point_0);//чисто для проверки работоспособности
}
то данные нормально переносятся в обработчик. Но если присутствует часть кода, тогда алерт срабатывает но данные не уходят. Где я ошибся?
P.S.: очень попрошу не давать советов по поводу массивов и т.д. нет возможности их использовать, нужно отремонтировать данный пример. Заранее благодарю.

Добавлено через 6 часов 4 минуты
Исходя из всего описаного выше, понимаю что наверное, неправильно построил логику изначально.
Словом вот задача:
Есть форма в которую нужно внести информацию о договоре на предприятии. В самой форме есть данные как о самом договоре так и о лицах которые принимают участие в данном договоре. В форме есть отдельный раздел, в котором есть поле input . В это поле пользователь вбивает число (от 1 и до бесконенчости, в зависимости от количества лиц). После того как чсило внесено в поле, нажимая кнопку "Добавить лица" идет запрос через аякс в обработчик. В самом обработчике простой код - есть цикл который проходит количество раз (равно цеифре которую ввели), а в самом цикле система добавляет три поля input: ФИО, Дата рождения, Паспорт. После чего в форму добавляеються новые поля в том количестве которое нас нужно. Далее мы забиваем инфу о всех лицах договора. Ремарочка: сам договор это договор страхования. Ну пока вродь все понятно. Теперь нам нужно опять таки через аякс посчитать стоимость страховки на одного человека, после чего все просумировать и вывести пользователю. Я создал три аякса. В первом добавляю поля, во втором считаю стоимость с расчета на одно лицо и в третьем общая стоимость ( именно три потому что математика тут очень запутаная и иначе нельзя, просто не хочу углублятся в подробности). Теперь объясню о аякс-запросах. Каждый из них имеет вид типа:
JavaScript
1
2
3
4
5
6
7
8
<script>    
function osoby(){
var kil_osoby = document.getElementById('kil_osoby').value;
 
    $("#osoby").load("osoby.php", { kil_osoby: kil_osoby
         });    
}
</script>
тоесть я создаю переменную, значение беру с конкретного поля,а потом через load отправляю данные в обработчик и вывожу в отдельный див эту красоту. Все вродь класно работало до того момента пока руководство не ткнуло носом что им нужно не по одному лицу подсчет делать а индивидуально по каждому. Чтоб вы понимали, расчет зависит от количества лиц и возраста каждого. Ну тут в голове прокрутил ситуацию и подумал?=:"Легко!".Ага, да да... Неделю бьюсь головою. Ну идем далее. В обработчике, который добавляет поля, в полях я изначально присваивал имена и айди типа birthday_1 birthday_2 и т.д. Поковыряв яву пришел к варианту описаному в первом посте. Но понимаю что каждую минуту натыкаюсь на страшный геморой и ищу просто нечеловеческие вариант решения проблемы. Сейчас подумую присвоить значения полю birthday[] и обрабатывать массив данных но тут для меня пока темный лес. Помогите кто чем может.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.09.2015, 22:43
Ответы с готовыми решениями:

Ajax динамическая подгрузка данных html на страницу
Добрый день, уважаемые пользователи! Тема довольно избитая, видел много решений данного вопроса, но все-равно, боюсь, что без Вашей...

Ajax передача данных
Доброго времени суток. Есть два домена третьего уровня. Первый test, второй test1. На test1 реализован вход и ajax запрос: ...

Передача данных в БД (ajax)
вот такой код сделал index.php &lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;...

3
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
13.09.2015, 23:21
Intrerio, знаете, работая с поисковиками, я понял, что перебор ответа и генерация информации для просмотра(дивы таблицы графики) должны быть именно на клиенте

вам предлагаю получит json массив ваших "людей", а потом сделайте генерацию блоков-юзеров, в которых будут отображены данные, которые должны быть отображены

с перебором массива могу помочь, но вы сначала должны организовать генерацию json на сервере, а потом и получение того чуда клиентом, думаю это вы можете сделать, а потом мы сможем обрабатывать данные

короче сначала организуйте поставку данных на клиент, а там уже по месту посмотрим, что сортировать, что отфильтровывать
1
0 / 0 / 0
Регистрация: 21.08.2015
Сообщений: 2
13.09.2015, 23:25  [ТС]
Подскажите где можно ознакомится с документацией по данному вопросу?

Добавлено через 2 минуты
Кстати сделал вот так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
  <script>
function osoby_calc2(){
var a=3;
for( var i=0;i<a;i++){
document.write(window['id_' + i] = document.getElementById("id_"+i).value);
}
 
    
            
}        
</script>
Но почемуто вижу только первое значение
0
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
14.09.2015, 16:10
Intrerio, кхкх, не используйте document.write - это устаревшая функция
да и в вот этой конструкции не виже смысла
JavaScript
1
(window['id_' + i] = document.getElementById("id_"+i).value);
вы знаете, что значение можно вынуть и по-другому
вот так
JavaScript
1
window['id_' + i].value; // вернёт значение элемента с ваши id
Добавлено через 1 минуту
поскольку id уникален, то window имеет свойство, названное по id, а данными этого свойства является ссылка на объект
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.09.2015, 16:10
Помогаю со студенческими работами здесь

Передача данных из тэга А в ajax
Привет всем! Нужна помощь в ajax, я в этом новичёк Мне как то нужно передать значения из ссылки в ajax. Вот ссылка: &lt;a...

Передача данных через Ajax-запрос
Не могу понять, как правильно передавать и принимать несколько переменных через Ajax-запрос.. С одной всё работает отлично. Очень прошу...

Передача данных из ajax запроса к бд в input
Здравствуйте. Есть select со списком кафедр. Нужно, чтобы при выборе кафедры в один input из базы данных подгружался логин кафедры, а во...

Передача данных из js в php через ajax
помогите, пожалуйста. Не получается сделать авторизацию. В консоли выводит: jquery-1.12.3.min.js:4 POST...

Ajax передача данных через заголовки
index.html: var xhr = new XMLHttpRequest(); xhr.open(&quot;GET&quot;, &quot;getdata.php?A=true&quot;, true); xhr.onreadystatechange = function...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru