Skrypty JavaScript nie działają w nowym oknie.

0

Taki oto problem. Wysyłam formularzem dane i otwiera mi się strona która zawiera kilka linijek z kodem JavaScript. Tutaj wszystko działa. Problem jest, gdy wyślę dane ajax'em, a odebrany kod wrzucę do nowego okna. Skrypty nie chcą mi działać. Czy to normalne czy też może skrypty powinny chodzić, a ja coś skopałem? Poniżej kod otwierający nowe okno i wrzucający kod z ajax'a.

		echo 'function myFunction(e) {';
			//echo 'var to_show;';
			//echo '$.ajax({';
			//	echo 'url: "awlist_p.php",';
			//	echo 'type: "POST",';
			//	echo 'data: "aw_id=" + e + "&skrypt=ajaks",';
			//	echo 'success: function(msg) {';
			//		echo 'var okno = window.open("", "to_print", "height=850,width=910");';
			//		echo 'okno.document.write(msg);';
			//	echo '}';
			//echo '});';
			echo 'document.getElementById(e).submit();';
		echo '};'; 

Dodam jeszcze, że strona w nowym oknie otwiera się prawidłowo. Tylko skrypty nie działają.

0

Z kodu który podałeś nic nie wynika - cały jest zresztą zakomentowany

Skrypty z AJAX się nie odpalają - musisz je odpalić ręcznie przez eval lub tworząc element script i dodając go do flow dokumentu

0

Przedostatnia linijka jest niezakomentowana i odpowiada za wysłanie formularza w normalny sposób i to działa. Po przeładowaniu strony skrypty śmigają aż miło. Problem pojawia się, jak tę linijkę zakomentuję, a odkomentuję resztę. Po kliknięciu na przycisk skrypt się odpala, pojawia się nowe okno, które wygląda prawidłowo, ale skrypty nie działają. korzystając z IE i opcji "Pokaż źródło" nie znalazłem problemu. Skrypty siedzą w kodzie tylko jakoś działać nie chcą.

0

No dobra. To teraz inna zagadka. Skrypty zaczęły działać po odświeżeniu tej nowej strony więc usunąłem wpis:

 
	echo '$(document).ready(function(){';

Teraz śmiga jak trzeba. Jakieś słowo wyjaśnienia? Problem nie występował tylko w IE ale też w Chromie.

0

Patrzysz do konsoli przeglądarki (F12->Console) i masz czarno na białym treść błędu.

0

Właśnie konsola nic nie pokazała. Skrypty się nie uruchamiały.

0

Przeglądarka wie, że to html ?
Czy pobrany kod wygląda tak ?:

<!DocType html><head>
<script>
function load() {
//...
}
</script>
</head><body>
Coś tam...
</body></html>
0

Tak, przeglądarka wie, że to html. Są zasadniczo 2 różnice między jedną, a drugą metodą. W pierwszej metodzie (document.getElementById(e).submit() wysyłam dane standardowym formularzem i serwer wysyła mi nowy kod strony który wyświetla się w oknie przeglądarki. W drugim przypadku, pobieram zmienną z formularza i wysyłam ajaxem, a kod strony wrzucam do nowego okna.

Chodzi o to, żeby poprzednio wyświetlana strona była cały czas dostępna.

1 użytkowników online, w tym zalogowanych: 0, gości: 1