| 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: 16 let
|
|||
0
).