Sziasztok!
Egy olyan űrlapot kéne létrehoznom, ahol az egyes mezőkbe meghatározott karakterszámot lehet bevinni.
Ez meg is oldható a webform validation modullal, aminek segítségével be lehet állítani a maximálisan elfogadható karakterszámot. Ha többet visz be a kitöltő, akkor hibaüzenet kap. Ez rendben is van.
Viszont nem látja, hogy éppen hány karakternél tart, így ha hibaüzenet kap, nem tudja, hogy 1-2, vagy 10-20 karaktert kell kitörölnie.
Ezért hogy felhasználóbarátabb legyen a dolog, kéne a beviteli mezőknél (ezek textarea típusúak) jelezni, hogy éppen hány karakternél tart a bevitelnél.
Erre nem találtam modult.
Van viszont egy webform html textarea modul, illetve az abból származó komponens, aminél be tudom állítani például a CKEditort (amit sima textarea komponensnél nem).
A CKEditornál pedig be lehet állítani, hogy alul írja ki a karakterszámokat.
A baj csak az, hogy ezt a webform html textarea típusú komponenst nem látja a webform validation, tehát nem tudom rá beállítani a max engedélyezett karakterszámot.
Így elakadtam.
Valaki találkozott már ezzel az igénnyel?
Van-e rá valami modul, vagy programozni kell? (Gondoltam arra is hogy rules modullal ellenőrzöm, de nem sikerült beállítani.)
Modulok:
webform (7.x-3.18)
webform validation (7.x-1.1)
webform html textarea (7.x-1.4)
Bármi érdekel, ami a megoldáshoz vezet.
Üdvözlettel:
Szabó Gábor
könnyű ilyet írni JavaScriptben
Nem ismerek külön ilyen modult, de nagyon könnyű írni ilyet jQuery-ben. Most kikapcsolódásként gyorsan készítettem neked egy példát:
http://jsfiddle.net/Sk8erPeter/xRj8f/
Ez kijelzi a bepötyögött karakterek, valamint a még hátralévők számát, ezenkívül a kívánt méretre vágja a bepötyögött szöveget, annál többet nem enged begépelni (megjegyzem, ez egyéni döntés kérdése, hogy levágjuk-e a plusz karaktereket, vagy csak jelezzük, hogy az már sok lesz, mert idegesítő is lehet a levágás, tehát ez csak szemléltető példa). Itt 50-re limitáltam a maximum karakterszámot.
Ha ismered a JavaScript behaviors-t:
http://drupal.org/update/modules/6/7#local_settings_behaviors
akkor könnyű dolgod lesz, gyorsan be tudod építeni egy saját modulba vagy sminkbe is.
Ezen lehetne még szépíteni, akár jQuery plugint is tudnál belőle készíteni (a karakterszámláló HTML-elemeket akár JS-ből is hozzá lehetne adni, ha nagyon a pluginre akarjuk bízni a dolgokat).
drupal_add_js()
függvénnyel aDrupal.settings
objektumba is nagyon könnyen belepakolhatod a maximális karakterszámot mondjuk egy modullal vagy sminkbeli PHP-kóddal, így azt JS-kódból el tudod érni.Programozni sem kell, ha
Programozni sem kell, ha egyelőre nem kell neked a visszaszámlálás:
http://drupal.org/project/webform_validation
+
Clientside Validation
http://drupal.org/project/clientside_validation
Szabály létrehozása:
Submitoláskor jön a kliensoldali (!!) validálás eredménye (nem engedi submitolni a formot):
Köszönöm a válaszaidat.
Köszönöm a válaszaidat.
Ezzel a clientside validation-nel már felhasználóbarátabb a dolog.
Az előző válaszban leírt javascript nagyon jó, ez lenne a legjobb megoldás, de ezek szerint még nem készült ilyen kiegészítés a webformhoz.
Szívesen, majd ha lesz egy
Szívesen, majd ha lesz egy kis időm, lehet, hogy készítek egy ilyen minimodult, amit erre is lehet alkalmazni. Ha viszont valamennyire megy a modulfejlesztés, akkor ezt Te is meg tudod csinálni a másik kommentben említett plugin beizzításával.
Készítettem belőle jQuery-plugint
Készítettem belőle jQuery-plugint, hátha jól jön valakinek (még ezen is lehet szépíteni, fogok is, de most hirtelen belelkesedve ez lett az eredmény):
http://jsfiddle.net/Sk8erPeter/xRj8f/3/