Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][JavaScript] document.write nie działa
DannyM
post 25.02.2019, 14:14:18
Post #1





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Mam taki sobie problem. Musze wywołać widget. Wszystko jest OK jesli mam tak:

send = 'src="adres.html" '+'amount="' + amount + '" '+'email="' + email + '" ';

document.write('<script type="text/javascript" ' +send+ '><\/script>');

Ale musze go wywolac gdy zostanie naduszony klawisz. Jeśli zorbię jak poniżej nie działa.

  1. $('#button').click(function(){
  2. document.write('<script type="text/javascript" ' +send+ '><\/script>');
  3. });


Nie dla tego, że jakiś bład bo w konsolii nie ma żadnego. Poprostu czysty ekran.

Próbowalem

  1. let script = document.createElement('script');
  2. script.src = '"'+send+'"';
  3. document.head.append(script);


Ale w tym przypadku wstawia mi scieżkę lokalna + tą co wysyłam.

Ten post edytował DannyM 25.02.2019, 14:16:07
Go to the top of the page
+Quote Post
viking
post 25.02.2019, 14:17:59
Post #2





Grupa: Zarejestrowani
Postów: 6 376
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


A gdzie w tej funkcji przekazujesz użyta później zmienną send?


--------------------
Go to the top of the page
+Quote Post
DannyM
post 25.02.2019, 14:35:19
Post #3





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Czyli powinno to wygladac tak? Sorry jeśli głupio pytam.


  1. $('#button').click(function(){
  2.  
  3. var send = html; // html to dane z powyżej funkcji
  4. document.write('<script type="text/javascript" ' +send+ '><\/script>');
  5. console.log(send);
  6. });


Ten post edytował DannyM 25.02.2019, 14:37:10
Go to the top of the page
+Quote Post
nospor
post 25.02.2019, 14:54:09
Post #4





Grupa: Moderatorzy
Postów: 36 555
Pomógł: 6314
Dołączył: 27.12.2004




NIe

'<script type="text/javascript" ' blabla '><\/script>

a
'<script type="text/javascript" ' src="blabla" '><\/script>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
DannyM
post 25.02.2019, 15:04:26
Post #5





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Oczywiscie już podaję co "podstawiam" w to miejsce

' src="adres.html" '+'amount="' + amount + '" '+'email="' + email + '" ';
Wiec jest tam src="adres.html"

Jak pisałem poza tą funkcją działa poprawnie

Ten post edytował DannyM 25.02.2019, 15:09:18
Go to the top of the page
+Quote Post
trueblue
post 25.02.2019, 15:40:37
Post #6





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


document.write zapisuje do przetwarzanego w trakcie wczytywania kodu HTML. Jeśli dokument się załadował, to strumień jest ponownie otwierany i następuje zapis. A ponieważ jest ponownie otwierany, to otrzymujesz pustą stronę (czyści się).
Powinieneś użyć drugiej metody, którą wskazałeś, czyli dołączenie skryptu. Wyczytywany jest po ścieżce lokalnej, bo skrypt jest wykonywany na lokalnej maszynie. Powinieneś po prostu dodać protokół i domenę.


--------------------
Go to the top of the page
+Quote Post
DannyM
post 25.02.2019, 15:50:07
Post #7





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Cytat(trueblue @ 25.02.2019, 16:40:37 ) *
document.write zapisuje do przetwarzanego w trakcie wczytywania kodu HTML. Jeśli dokument się załadował, to strumień jest ponownie otwierany i następuje zapis. A ponieważ jest ponownie otwierany, to otrzymujesz pustą stronę (czyści się).
Powinieneś użyć drugiej metody, którą wskazałeś, czyli dołączenie skryptu. Wyczytywany jest po ścieżce lokalnej, bo skrypt jest wykonywany na lokalnej maszynie. Powinieneś po prostu dodać protokół i domenę.


Dzieki. Czy widzisz jakies inne rozwiazanie?
Go to the top of the page
+Quote Post
trueblue
post 25.02.2019, 15:54:07
Post #8





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


A to ma jakieś wady?


--------------------
Go to the top of the page
+Quote Post
DannyM
post 25.02.2019, 15:58:00
Post #9





Grupa: Zarejestrowani
Postów: 507
Pomógł: 2
Dołączył: 30.10.2003
Skąd: Poznań

Ostrzeżenie: (10%)
X----


Cytat(trueblue @ 25.02.2019, 16:54:07 ) *
A to ma jakieś wady?


Pewnie nie ale tu mam praktycznie wszystko gotowe tylko się nie wywołuje. Strasznie irytujące.
W ww metodzie będę musiał napisać to inaczej w JS nie jestem nawet "dobry".
Go to the top of the page
+Quote Post
trueblue
post 25.02.2019, 16:16:32
Post #10





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Przecież wystarczy podstawić ten drugi kod do obsługi zdarzenia click.
Odrębną kwestią jest dodanie protokołu i domeny, którą musiałbyś również dodać w przypadku pierwszej metody, gdyby działała.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2025 - 04:34