Skocz do zawartości
lustfingers

Odświerzenie zaincludowanego pliku

Rekomendowane odpowiedzi

Witam, chciałbym się dowiedzieć czy jest taka mozliwość aby odświerzyć zawartość jednego zaincludowanego pliku, naciskając odpowiedni przycisk w innym zaincludowanym pliku.

 

Zamówienia w jednym kroku składają się z kilku zaincludowanych plików jednym z nich jest order-opc-new-account który na dole posiada przycisk Zapisz, po kliknięciu zapisują sie dane do bazy. Kolejnym plikiem jest order-carrier i to jego zawartośc chciałbym odświerzać podczas kliknięcia przycisku zapisz opisanego powyżej.

 

Plik order-carrier jest praktycznie w całości w div-ie o id="carrier_area"

 

Ktoś ma jakis pomysł jak to zrobić? Presta 1.5.6.0

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dziękuję za odpowiedź, podpiałem pod button tą funkcję i nie było efektu żadnego widocznego na stronie. Zmieniłem w tej funkcji id kontenera na #carrier_area teraz widzę że po kliknięciu "coś" sie dzieje, jednak w pliku order-carrier.tpl mam dodatkowe zmienne isguest oraz logged pomimo że niby kontener się odświerza nie pokazują się komunikaty przypisane do tych zmiennych a o to mi właśnie chodzi żeby sie pokazały, w momencie gdy klient zapisuje swoje dane zmienia się z visitor na guest więc powinny się pokazac te komunikaty, gdy całkiem przeładuję stronę koszyka to komunikaty oczywiście są widoczne.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

To musisz wykonać po zapisaniu danych klienta, nie przed ani w trakcie ale po zakończonym zapytania. Pamiętaj że ajax działa asynchronicznie więc jak uruchamiasz 2 funkcje jedna po drugiej to de facto uruchamiają się razem.

 

Wciśnij F12 i wpisz w konsoli getCarrierListAndUpdate() i enter, (po zapisaniu danych klienta) sprawdź czy tpl zawiera już właściwe zmienne.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

O ile robię wszystko dobrze to nie działa to tak jakbym chciał, opcja pierwsza to taką że z przycisku usunąłem onclick="getCarrierListAndUpdate()" i po odpaleniu w konsoli nic sie niedzieje, druga gdy zostawiam to w przycisku i odpalam z konsoli to coś sie dzieje jednak po chwili metody się chowają i ich w ogóle nie widać. Skoro fukcje uruchamiaja się jednocześnie to może jest sposób aby do funkcji zapisującej dane klienta dodać coś w stylu location.reload () tak aby najpierw się zapisały dane a później odświerzyła cała strona koszyka?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Onclick odpada jak pisałem wcześniej, musisz to wykonać po zapisaniu danych. "Nie działa" to zbyt ogólne, jest błąd w konsoli, jeśli tak to jaki? Zapytanie ajax się wysypuje?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Wydaje mi się ze robie wszystko poprawnie, jednak po wywołaniu funkcji nie widzę błędów w konsoli z tym zwiazanych i opcje przypisane do logged i isguest tak jakby się nie odświerzały, przygotowałem krótki filmik co i jak robię, może to wyjasni.

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

W standardzie jest włąśnie fadeOut nie zmieniłem na potrzeby filmiku, jednak po zmianie na fadeIn nadal nie ma radiobuttonów, nawet jak odświerzę zawartość strony i wtedy one są widoczne to po wywołaniu funkcji znikają.

 

Ta funkcja u mnie w standardzie wygląda tak:

function getCarrierListAndUpdate()
{
	$('#opc_delivery_methods-overlay').fadeIn('slow');
	$.ajax({
		type: 'POST',
		headers: { "cache-control": "no-cache" },
		url: orderOpcUrl + '?rand=' + new Date().getTime(),
		async: true,
		cache: false,
		dataType : "json",
		data: 'ajax=true&method=getCarrierList&token=' + static_token,
		success: function(jsonData)
		{
			if (jsonData.hasError)
			{
				var errors = '';
				for(var error in jsonData.errors)
					//IE6 bug fix
					if(error !== 'indexOf')
						errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
				alert(errors);
			}
			else
				updateCarrierList(jsonData);
			$('#opc_delivery_methods-overlay').fadeOut('slow');
		}
	});
}

Próbowałem z różnymi id kontenerów zawsze taki sam efekt czyli brak radiobuttonów.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



  • Przeglądający

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

  • Aktywni użytkownicy

    Nikt jeszcze nie otrzymał reputacji w tym tygodniu.

  • Statystyki forum

    • Tematów
      7500
    • Postów
      36227
×