Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wypisywanie serii znaków w innerHTML
Forum PHP.pl > Forum > Po stronie przeglądarki
blackstone
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. }


kapslokk
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
blackstone
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.  
IProSoft
Usuń apostrofy.
[JAVASCRIPT] pobierz, plaintext
  1. elm.appendChild( div )
[JAVASCRIPT] pobierz, plaintext
blackstone
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" ' );
IProSoft
Słabo kombinujesz
[JAVASCRIPT] pobierz, plaintext
  1. div.className = "klasa";
[JAVASCRIPT] pobierz, plaintext
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.