Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wypisywanie serii znaków w innerHTML
blackstone
post
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 19.03.2015

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


Witam, próbuje napisać skrypt który wpisany w pole tekstowe wyraz przedstawi w postaci ciągu literek - chodzi o to by każda litera znajdowała się w osobnym divie. Wszystko działa prawie dobrze ale problem polega na tym że skrypt wypisuje mi ostatnią literę wyrazu który zatwierdzam - javascript zamiast wyświetlić ciąg znaków wyświetla mi ostatni znak przerobiony przez skrypt. Wiem ze da się to zrobić za pomocą document.write() ale ta funkcja rozwala cały HTML , czy można to zrobić jakoś za pomocą innerHTML lub czegoś podobnego ? Gdy wyświetlam samą cyfrę dzieje się to samo, ale gdy zamiast innerHTML użyje document.write() to pokazuje się cały rząd cyferek prawidłowo.

  1. var haslo=document.getElementById("tekst").value ;
  2. var longer=haslo.length;
  3.  
  4.  
  5.  
  6.  
  7. for(i=-1 ; i<longer ; i++)
  8. {
  9.  
  10. var litera=haslo.charAt(i);
  11. var box=' <div class="litera"> ' + litera + '</div>' ;
  12. document.getElementById("field").innerHTML=box ;
  13. }


Go to the top of the page
+Quote Post
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Zamień
  1. document.getElementById("field").innerHTML=box ;

na:
  1. document.getElementById("field").innerHTML+=box ;


albo najlepiej na appendChild wg tego: http://stackoverflow.com/questions/1151538...erhtml-bad-code
Go to the top of the page
+Quote Post
blackstone
post
Post #3





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 19.03.2015

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


Wziąłem w komentarz poprzednią część skryptu i zrobiłem coś takiego z wykorzystaniem apppendchilda ale tym razem nic nie działa ( jakby nie było w ogóle JS na stronie )

  1.  
  2. for(i=-1 ; i<longer ; i++)
  3. {
  4.  
  5. var litera=haslo.charAt(i);
  6. /* var box=' <div class="litera"> ' + litera + '</div>' ;
  7. var litera=haslo.charAt(i);
  8. box=' <div class="litera"> ' + litera + '</div>' ; */
  9.  
  10. var elm=document.getElementById("field") ;
  11. div = document.createElement( 'div' );
  12. div.textContent = litera;
  13. elm.appendChild('div') ;
  14.  
  15.  
  16. }
  17.  
Go to the top of the page
+Quote Post
IProSoft
post
Post #4





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

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


Usuń apostrofy.
[JAVASCRIPT] pobierz, plaintext
  1. elm.appendChild( div )
[JAVASCRIPT] pobierz, plaintext


Ten post edytował IProSoft 4.05.2016, 07:34:36


--------------------
Manual prawdę Ci powie.
Go to the top of the page
+Quote Post
blackstone
post
Post #5





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 19.03.2015

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


Działa prawie dobrze smile.gif , mam tylko jedno pytanie - jak wykreować div o odpowiedniej klasie lub id css ? Próbowałem przypisać do createElement klasę ale gdy to zrobiłem to nie działało nic sad.gif

  1. div = document.createElement( 'div class="litera" ' );
Go to the top of the page
+Quote Post
IProSoft
post
Post #6





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

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


Słabo kombinujesz
[JAVASCRIPT] pobierz, plaintext
  1. div.className = "klasa";
[JAVASCRIPT] pobierz, plaintext


--------------------
Manual prawdę Ci powie.
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 Aktualny czas: 20.08.2025 - 09:09