Autor | Zpráva | ||
---|---|---|---|
Manny Profil * |
#1 · Zasláno: 24. 5. 2009, 11:27:52
Ahoj, řeším problém, jak v textarea FCKEditoru nastavit maximální počet zadaných znaků a poté zobrazovat počet již napsaných (podobně jako je tomu u psaní SMSek s netu). Nestekali jste se někdo s tímto problémem a nevěděli byste, jak na něj vyzrát?
Skript pro klasickou textareu má funkční, nicméně se mi jej nedaří implementovat do FCK. Díky za vaše názory;) |
||
fuckin Profil * |
Moderátor Mistr: Celé téma bylo původně duplicitně též v sekci PHP. Proto ta zmínka o PHP.
toto nema s php nic spolecneho, ciste jen js.. Kdyz mas skript tak kde je problem? Budes volat udalost onChange a pokazde vypises pocet znaku ne? |
||
Manny Profil * |
#3 · Zasláno: 24. 5. 2009, 15:27:12
fuckin
co s onChange? ...on je problém, že když se snažím přidat událost do textarey FCKEditoru $Html .= "<textarea name=\"{$this->InstanceName}\" rows=\"4\" cols=\"40\" style=\"width: {$WidthCSS}; height: {$HeightCSS}\" onkeyup=limiter()>{$HtmlValue}</textarea>" ; tak mi to nebere v potaz... do textarea přidáno onkeyup=limiter() |
||
fuckin Profil * |
#4 · Zasláno: 24. 5. 2009, 15:42:20
kdyz jsi tak zminoval psani smsek na netu, tak proc se nepodivas tam jak to tam maji vyresene?
Btw s js si moc nerozumime ale preci jen neco znam ale unika me vyznam funkce limiter? Nechtels nahodou pocet znaku vypisovat? To znamena ze nactes pocet znaku a ulozis do promenne a budes vypisovat. A akorat tam pak nastavis ten limit, takze nechapu co to ma byt za fungujici skript z tve strany :) |
||
Manny Profil * |
#5 · Zasláno: 24. 5. 2009, 15:44:42
<script language=javascript> //Edit the counter/limiter value as your wish var count = "125"; //Example: var count = "175"; function limiter(){ var tex = document.myform.comment.value; var len = tex.length; if(len > count){ tex = tex.substring(0,count); document.myform.comment.value =tex; return false; } document.myform.limit.value = count-len; } </script> <form name="myform" METHOD=POST> <textarea name=comment wrap=physical rows=3 cols=40 onkeyup=limiter()></textarea><br> <script language=javascript> document.write("<input type=text name=limit size=4 readonly value="+count+">"); </script> </form> Je nastaven určitý počet znaků, který může user zadat do textarey. V kolonce se mu ukazuje zbývající počet znaků. Tohle funguje jak má - jen se to snažím aplikovat na FCKEditor - a to je bohužel kámen úrazu - nedaří se mi to. |
||
Chamurappi Profil |
#6 · Zasláno: 24. 5. 2009, 16:08:44
Reaguji na Mannyho:
FCKEditor vyrábí <iframe>, do jehož <body> teprve člověk píše svůj formátovaný text. Skript počítající znaky v <textarea> na něj tudíž nemůže nikdy fungovat. |
||
Manny Profil * |
#7 · Zasláno: 24. 5. 2009, 16:18:13
Chamurappi
no a jak by se dal vyřešit ten můj problém? Je to vůbec nějakým způsobem možné? |
||
fuckin Profil * |
#8 · Zasláno: 24. 5. 2009, 18:50:01
jiny editor...nebo uvnitr fck
|
||
Časová prodleva: 1 rok
|
|||
SmithHCoder Profil * |
Trebas se to bude nekomu hodit, chvilku mne to stalo. Funguje OK on form submit.
var textLimit = 4000; var FCKused = true; // by default Yes function checkTextLenght(){ var text; if(FCKused){ // UNDER FCKEDITOR var oEditor = FCKeditorAPI.GetInstance('text') ; text = oEditor.GetHTML(); } else { // UNDER TEXTAREA ONLY // text = document.forms["edit_text"]["text"].value; // by simple js text = $("#text").val(); // by jQuery } if(text.length > textLimit){ alert('no'); return false; } else { return true; } } Moderátor Chamurappi: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Časová prodleva: 14 let
|
0