Skocz do zawartości

[Modyfikacje] Liczenie znaków w textarea i bonus za długie opisy


Rekomendowane odpowiedzi

Na prośbę jednego z userów PiO napisałem szybko kolejna modyfikację liczącą na bieżąco liczbę znaków w textarea i przy określonej liczbie znaków wyświetlającą panel z dodaniem anchor-textów (modyfikacja część pierwsza > TUTAJ. Przypominam również o seo-urlach > TUTAJ

Przykład działania:

screenhunter007hy0.th.jpg screenhunter008jp0.th.jpg

Instalacja jest w tym przypadku bardzo prosta:

1. Wpierw implementujemy mod z anchor textami - link na początku posta.

2. W pliku otwarty_disp/funkcje.php znajdujemy nagłówek <head></head> i dopisujemy kolejna funkcję w java script:

<script type="text/javascript">
// Copyright (c) 2008, General_Depet - https://www.katalog.intelekt.net.pl

var obj='';
var timer='';
function iloscZnakow(o){
  if (o) obj=o;
  var div=document.getElementById('iloscZnakow');
  var iloscWpisanych = obj.value.length;

  obj1 = document.getElementById('anchor');

  if (iloscWpisanych > 255) {
  obj1.style.display = '';
  iloscWpisanych = '<span style="color:green">'+iloscWpisanych+'</span>'; 
  }
  else {
  obj1.style.display = 'none';
  iloscWpisanych = '<span style="color:red">'+iloscWpisanych+'</span>'; 
  }

  div.style.fontWeight='bold';
  div.innerHTML='wpisanych znaków '+iloscWpisanych;

  timer=setTimeout('iloscZnakow()', 100);
}
</script>

Oczywiście Ci którzy chcą inna ilość znaków zmieniają te 255 na swoją liczbę. Naturalnie można też dodać górną granicę - wystarczy wtedy dodać jeszcze jeden warunek.

Znajdujemy linię:

<textarea id="txt" name="opis" class="formdodaj" cols="60" rows="8"><?=$desc?></textarea><br />

i zmieniamy ja na:

<textarea id="txt" onFocus="iloscZnakow(this)" name="opis" class="formdodaj" cols="60" rows="8"><?=$desc?></textarea><br />

Linie wyświetlającą przycisk do anchor-textów:

Możesz umie¶cić max. 3 anchor-texty w opisie do najciekawszych podstron swojego serwisu: <input class="button" type="button" onclick="Url()" value="Dodaj link">

zmieniamy na:

<div id="anchor">Możesz umie¶cić max. 3 anchor-texty w opisie do najciekawszych podstron swojego serwisu: <input class="button" type="button" onclick="Url()" value="Dodaj link"></div>

Z kolei w miejscu gdzie chcemy wyświetlać ilość wpisanych dotychczas znaków w textarea wpisujemy:

<div id="iloscZnakow" style="text-align:right;padding-right:47px;font-size:10;">wpisanych znaków <script>document.write(parseInt(document.forms[0].opis.value.length))</script>0</div>

=============================

W ramach testów zapraszam do dodawania wpisów do mojego Katalogu Stron Intelekt

Co do wykorzystania powyższego skryptu standardowa zasada: bardzo proszę o umieszczenie linka zwrotnego:

<a href="https://www.katalog.intelekt.net.pl" target="_blank" alt="Katalog Stron Intelekt - Tylko Inteligentne Strony w Internecie" title="Katalog Stron Intelekt - Tylko Inteligentne Strony w Internecie"><strong>Katalog Stron Intelekt</strong></a>

iDir - skrypt na katalog stron lub firm - następca projektu SEOKatalog, dostosowany do dzisiejszych standardów, w pełni responsywny, na nowoczesnym frameworku.

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki wielkie.

Można jeszcze pomęczyć?

Chodzi o to, żeby informacja o możliwości dodania 3 linków z opisu strony, nie znikała po kliknięciu na pole opisu.

Wprawdzie pojawia sie ona ponownie po wpisaniu odpowiedniej ilości znaków, ale może lepiej by było jakby była widoczna cały czas.

A to z myslą o dodających np. Sprtytnym ..., gdzie opis z meta szybko podmienia się z opisem z SK, i wtedy informacja o dodatkowych linkach może być niezauważona.

Pozdrawiam :)

Odnośnik do komentarza
Udostępnij na innych stronach

OK - w sumie masz racje lepiej żeby było widoczne od początku żeby zachęcało do dłuższych opisów...no problem zrób tak:

Zamiast linii z pętlą w funkcji javascript

   if (iloscWpisanych > 255) {
  obj1.style.display = '';
  iloscWpisanych = '<span style="color:green">'+iloscWpisanych+'</span>'; 
  }
  else {
  obj1.style.display = 'none';
  iloscWpisanych = '<span style="color:red">'+iloscWpisanych+'</span>'; 
  }

zmień na taką:

   if (iloscWpisanych > 255) {
  obj1.disabled = false;
  iloscWpisanych = '<span style="color:green">'+iloscWpisanych+'</span>'; 
  }
  else {
  obj1.disabled = true;
  iloscWpisanych = '<span style="color:red">'+iloscWpisanych+'</span>'; 
  }

Z kolei w pliku otwarty_disp/funkcje.php linię:

<div id="anchor">Możesz umie¶cić max. 3 anchor-texty w opisie do najciekawszych podstron swojego serwisu: <input class="button" type="button" onclick="Url()" value="Dodaj link"></div>

zmień na:

Możesz umie¶cić max. 3 anchor-texty w opisie do najciekawszych podstron swojego serwisu: <input id="anchor" class="button" type="button" onclick="Url()" value="Dodaj link" disabled>

Dzięki temu button będzie widoczny cały czas ale jako disabled dopóki w textarea nie znajdzie się określona ilość znaków.

iDir - skrypt na katalog stron lub firm - następca projektu SEOKatalog, dostosowany do dzisiejszych standardów, w pełni responsywny, na nowoczesnym frameworku.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 9 miesięcy temu...
A jak zrobić licznik który liczy znaki w polu "slowa kluczowe" ?

Nadaj inputowi inny identyfikator (np id="slowa_kluczowe"). Oprzyj się na przykładzie podanym przez General_Depet:

<textarea id="txt" onFocus="iloscZnakow(this)" name="opis" class="formdodaj" cols="60" rows="8"><?=$desc?></textarea>

Albo zerknij w źródła mojego katalogu :-)

demo_miniacz_468x60.gif

Polecam projektowanie stron Łódź, oraz moderowany, podrasowany katalog, w którym znajdziesz dobre polskie strony, o niebagatelnej treści.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności