Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript]onkeydow nie działa w iframe
Forum PHP.pl > Forum > Przedszkole
PHPapprentice
Witam. Chciałbym zrobić licznik znaków które się wpisuje do textarea jednak u mnie zamiast textarea jest iframe , gdyż używam jeszcze funkcji do edytowania tekstu WYSIWYG. Problem jest w tym że gdy dołączam do iframe zdarzenie onkeydown i onkeyup nie działa one.

Oto kod JavaScript :

  1. var maxAmount = 250;
  2. function textCounter(textField, showCountField){
  3.  
  4. alert('abc');
  5. var numOfChars = textField.innerHTML.length;
  6.  
  7.  
  8. if(numOfChars > maxAmount){
  9. textField.innerHTML = textField.innerHTML.substring(0,maxAmount);
  10. }
  11. else{
  12. showCountField.value = maxAmount - numOfChars;
  13. }
  14. }


A oto kod HTML :

  1. <form>
  2.  
  3. <!--Hide (but keep) your normal textarea and place in the iFrame replacement for it -->
  4.  
  5. <textarea name='myTextArea' id='myTextArea' cols='100' rows='14'></textarea>
  6.  
  7. <iframe name='richTextField' id='richTextField'
  8. onkeydown='alert("abc");'
  9. onclick='alert("abc");'
  10. <!--
  11. onkeydown='textCounter(this.form.richTextField,this.form.countDisplay);'
  12. onkeyup='textCounter(this.form.richTextField,this.form.countDisplay);'
  13. -->
  14. ></iframe>
  15.  
  16. <input readonly type='text' name='countDisplay' size='3' maxlength='3'
  17. value='250'>Character remaining
  18.  
  19. <!-- End replacing your textarea -->
  20. </form>


Przed iframe jest textarea ponieważ przed przesłanie danych kopiuje to co jest wpisane w iframe i wpisuje to w textarea żeby to przesłać do skryptu PHP a później do bazy danych. Niestety nawet funkcję diagnostyczne alert('abc') nie działają.

Jak by ktoś pomógł to by było fajnie smile.gif
Turson
Jeżeli iframe wstawia do textarea, to czemu nie zliczysz znaków w textarea?
PHPapprentice
Cytat
Jeżeli iframe wstawia do textarea, to czemu nie zliczysz znaków w textarea?


Tak też będę robił jak będę walidował ilość znaków wstawionych do tego pola po stronie PHP. Jednak chce zrobić zliczanie znaków w czasie rzeczywistym. Czyli ktoś coś wpisuje w tym polu i obok w oddzielnym polu od razu zmniejsza się ilość dostępnych jeszcze znaków.

Wszystko by działało gdybym zamiast iframe używał textarea , bo już taki przykład mam zrobiony. Jednak chciałbym to mieć zrobione w iframe ze względu na możliwości edytowania tekstu po kliknięciu na odpowiedni przycisk jak w WYSIWYG.

W zasadzie to z textarea WYSIWYG też powinno działać ale poczekam jeszcze może ktoś coś poradzi z tym iframe smile.gif.

Pozdrawiam.
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.