Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как обновить данные принудительно не странице? (https://javascript.ru/forum/events/59878-kak-obnovit-dannye-prinuditelno-ne-stranice.html)

GVY 01.12.2015 16:06

Как обновить данные принудительно не странице?
 
Здравствуйте! В общем ситуация такая у меня выполняется функция по загрузке данных из базы
function ld(
)
{
	var date = document.getElementById("dt").value;
 
 if (date == "") {
	  alert("Дата пустая");
	  return ;
	  }  
 
	$.ajax({
	type: "POST",
	url: "workbd.php",
	data: {date:date, fun:'ld', data:""}
}).done(function( result )
	{ 
	  mas_ld = result.split("&");
	  
	  val = "";
	  for (var i in mas_ld) 
	  {
		  pos = mas_ld[i].indexOf("=");
		  
		  document.getElementById(mas_ld[i].substr(0,pos)).value = mas_ld[i].substr(pos+1);		
		  } 
	   
	});
	
	
   for (i=2;i<21;i++) {
	  sum(i);  
   }
	
 }



в конце ее запуская пересчет итогов функция вот

function sum(j) 
{
  var summ = 0;
  for (var i=1;i<25;i++) 
  {
	  
	  summ += +document.getElementById(i+"_"+j).value;
	  
  }

  document.getElementById("sum_"+j).innerHTML=summ;
  
 alert(summ);
  }


Проблема в следующем получается ситуация, что данные все загружаются и попадают на форму, но функция sum() выполняется еще до появления данных на форме.

Можно ли как то принудительно обновить данные чтобы они попали на форму до выполнения функции sum()

krasovsky 02.12.2015 07:21

Можно ли принудительно затолкать ждущих пассажиров на остановке в не приехавший еще автобус? Или даже так - можно принудительно "приехать" автобус на остановку В если он еще не доехал даже до остановки А?

Можно почитать об асинхронных запросах и выполнить подсчет в коллбэке, который вызывается когда данные загружены.
Например в том же .done()

GVY 02.12.2015 08:44

Цитата:

Сообщение от krasovsky (Сообщение 398359)
Можно почитать об асинхронных запросах и выполнить подсчет в коллбэке, который вызывается когда данные загружены.
Например в том же .done()

Вот за этот ответ спасибо!)

А что касается пассажиров... ну так я понимал что выполняю функцию не там где надо... но вот че то про done не додумался к концу рабочего дня.

Еще раз спасибо!Все работает!


Часовой пояс GMT +3, время: 13:04.