Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML] Zawijanie wierszy w polu textarea
Forum PHP.pl > Forum > Przedszkole
peja1990
Witajcie, mam pewien problem ze skryptem gdyż powinien działać a nie działa...
Mianowicie chodzi o skrypt, który po kliknięciu w przycisk powinien zmienić w polu textarea wartość atrybutu wrap na off, czego wynikiem powinno być nie zwijanie wierszy w w/w polu.

Skrypt zmienia atrybut lecz w polu textarea jest brak reakcji (ciągle zwija wiersze), lecz gdy 'ręcznie' w kodzie ustawię wartość atrybutu wrap na off to działa elegancko czyli nie zawija wierszy.

Mój przycisk:
  1. <div id="wrap">Nie zawijaj wierszy</div>


Skrypt:
  1. $(document).ready(function() {
  2. $('#wrap').click(function(){
  3. $('#textarea').attr('wrap', 'off');
  4. });
  5. });


Pole textarea:
  1. <textarea name="filecontent" id="textarea" style="overflow:auto" wrap="virtual"><?php
  2. $line_num = 0;
  3. $fp = fopen($edit,"r");
  4. while(!feof($fp)) {
  5. $line = fgets($fp,1024);
  6. echo htmlspecialchars($line);
  7. $line_num++;
  8. }
  9. fclose($fp);


Bardzo proszę Was o pomoc bo ja nie rozumiem dlaczego nie działa kiedy powinno działać wink.gif)
pianta_d
Cytat
wartość atrybutu wrap na off


Może powinno być nowrap

Poczytaj
peja1990
Dobrze kolego, ale Ty piszesz o białych znakach white-space czyli CSS, a ja piszę o atrybucie pola textarea wrap.
Poza tym kiedy ustawię ręcznie w kodzie wartość atrybutu wrap na off to działa elegancko wink.gif

EDIT!
Dodam, że zrobiłem teraz na zasadzie klasy CSS tak jak proponował kolega wyżej, ale nadal jest to samo.
Klasę dodaje ale pole textarea na nią nie reaguje, nie dodaje dolnego suwaka... ;/
kamil4u
Spróbuj w takim razie użyć CSS i white-space.

Tu taka zagadka:
http://www.w3schools.com/html5/att_textarea_wrap.asp

--edit--
A umieść jakiś przykład na żywo np. tu: http://jsfiddle.net/
pianta_d
Cytat
Atrybut WRAP nie wchodzi w skład specyfikacji HTML 4.01 - zaleca się stosowanie stylów.


Źródło
peja1990
Patrz kolego, teraz zrobiłem to poprzez dodanie atrybutu jak i klasy css, pięknie zmienia klasę jak i atrybut ale nadal pole nie reaguje.. ;/

CSS:
  1. form[name="form"] textarea[name="filecontent"].normal {float:left;margin:10px 0;padding:10px;width:700px;min-height:500px;font:normal 8pt Verdana, sans-serif;text-align:left;text-transform:none;font-weight:normal;font-style:normal;font-size:8pt;color:#10435E;overflow:auto;white-space:normal;}
  2. form[name="form"] textarea[name="filecontent"].nowrap {float:left;margin:10px 0;padding:10px;width:700px;min-height:500px;font:normal 8pt Verdana, sans-serif;text-align:left;text-transform:none;font-weight:normal;font-style:normal;font-size:8pt;color:#10435E;overflow:auto;white-space:nowrap;}


java script:
  1. $(document).ready(function() {
  2. $("#wrap").click(function(){
  3. var wrap = $("#textarea").attr("wrap");
  4. if(wrap == "virtual") {
  5. $("#textarea").attr("wrap", "off");
  6. $("#textarea").removeClass("normal").addClass("nowrap");
  7. document.getElementById("wrap").innerHTML = "Zawijaj wiersze";
  8. } else {
  9. $("#textarea").attr("wrap", "virtual");
  10. $("#textarea").removeClass("nowrap").addClass("normal");
  11. document.getElementById("wrap").innerHTML = "Nie zawijaj wierszy";
  12. }
  13. });
  14. });


Pole textarea:
  1. <textarea name="filecontent" id="textarea" class="normal" wrap="virtual"></textarea>


EDIT
Pod poniższym linkiem znajduje się skrypt, który powinien działać a nie działa ;( Sami zobaczcie...
http://detronic.pl/

Dodam jeszcze, że teraz sprawdziłem działanie skryptu pod przeglądarką GoogleChrome i działa elegancko wink.gif lecz pod Operą nie działa ;(
Jak myślicie ?
Co może być tego przyczyną ?
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.