Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][HTML] Zawijanie wierszy w polu textarea
peja1990
post
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 4.12.2010

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


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)
Go to the top of the page
+Quote Post
pianta_d
post
Post #2





Grupa: Zarejestrowani
Postów: 176
Pomógł: 18
Dołączył: 5.01.2007

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


Cytat
wartość atrybutu wrap na off


Może powinno być nowrap

Poczytaj
Go to the top of the page
+Quote Post
peja1990
post
Post #3





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 4.12.2010

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


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... ;/

Ten post edytował peja1990 20.10.2011, 14:03:03
Go to the top of the page
+Quote Post
kamil4u
post
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


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/

Ten post edytował kamil4u 20.10.2011, 14:08:45


--------------------
Go to the top of the page
+Quote Post
pianta_d
post
Post #5





Grupa: Zarejestrowani
Postów: 176
Pomógł: 18
Dołączył: 5.01.2007

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


Cytat
Atrybut WRAP nie wchodzi w skład specyfikacji HTML 4.01 - zaleca się stosowanie stylów.


Źródło
Go to the top of the page
+Quote Post
peja1990
post
Post #6





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 4.12.2010

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


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ą ?

Ten post edytował peja1990 20.10.2011, 14:44:18
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: 21.08.2025 - 21:53