Autor | Zpráva | ||
---|---|---|---|
zacatky_fora Profil * |
#1 · Zasláno: 4. 1. 2011, 12:15:21
Potřeboval bych si udělat JS.
měl bych tlačítka a když ho stisknu, tak se mi do textarea přidá daný tag (či text) V podstatě wysivig. <form name="form1" method="post" action"> <table> <tr> <td width="50%">Text příspěvku: </td> <td width="50%"><label for="posts_text"></label> <textarea name="posts_text" id="posts_text" cols="45" rows="5"></textarea></td> </tr> <tr> <td><input type="submit" name="odesli" id="odesli" value="Odeslat"></td><td></td> </tr> </table> </form> a vlastně nad texarea bych měl ten svůj "wysivig". S JS jsem se setkal jen okrajově a v podstatě mu vůbec nerozumím :( |
||
Medvídek Profil |
#2 · Zasláno: 4. 1. 2011, 12:18:56
zacatky_fora:
Koukni, jak je to dělaný na tomhle fóru. |
||
zacatky_fora Profil * |
#3 · Zasláno: 4. 1. 2011, 12:20:13
Medvídek:
Já to chápu jak je to dělaný, ale já nechápu ten kod :( |
||
petr 6 Profil |
#4 · Zasláno: 4. 1. 2011, 12:26:07
Vyzkoušej tento kód
<form onsubmit='return false'> <textarea id='area'></textarea> <input type='submit' onclick='document.getElementById("area").innerHTML+=this.value;' value='aaa'> <input type='submit' onclick='document.getElementById("area").innerHTML+=this.value;' value='bbb'> </form> Asi to není přímo to, co si představuješ, ale tvoje vágně popsané zadání to splňuje (jsou tam tlačítka, a když je stiskneš, tak se ti do textarea přidá daný text) a myslím, že pro pochopení principu to taky není složité. |
||
zacatky_fora Profil * |
#5 · Zasláno: 4. 1. 2011, 12:29:19
petr 6:
Super, neni to přesně jak jsem chtěl, ale jen v type='submit' :) .. ale jinak je to ono, děkuji :) ... |
||
Chamurappi Profil |
#6 · Zasláno: 4. 1. 2011, 12:30:15
Reaguji na zacatkyho_foru:
Děkuješ předčasně. Funguje ti snad ten kód ve všech prohlížečích? Reaguji na petra 6: Proč innerHTML ? Proč ne value ?
|
||
zacatky_fora Profil * |
#7 · Zasláno: 4. 1. 2011, 12:31:03
Chamurappi:
to máš pravdu, nezkoušel jsem to.... Jako abych pravdu řekl. Nejraději bych se naučil JS (alespoň ty základy) |
||
petr 6 Profil |
#8 · Zasláno: 4. 1. 2011, 12:34:09
Chamurappi:
První, co mě napadlo pro demonstraci. |
||
zacatky_fora Profil * |
#9 · Zasláno: 4. 1. 2011, 12:35:51
Já se snažím pochopit toto:
function doImage() { if (editorVisible) { ifm.contentWindow.focus(); myimg = prompt('Enter Image URL:', 'http://'); if ((myimg != null) && (myimg != "")) { myeditor.execCommand('InsertImage', false, myimg); } } else { AddTag('[img]', '[/img]'); } } Toto se mi líbí jen díky tomu, že to zanechá i vybraný text.. (vyberu text, kliknu na tlačítko a on jen přidá tagy před vybraný text a za něj) |
||
Liennie Profil |
#10 · Zasláno: 4. 1. 2011, 17:17:47
|
||
Tomashekk Profil |
#11 · Zasláno: 6. 1. 2011, 18:20:37 · Upravil/a: Tomashekk
Liennie:
<script> function vlozTag(tag) { switch (tag) { case ':)': vlozNaKurzor(' '+tag+' ',false,''); break; case 'HR': vlozNaKurzor('<'+tag+'>',false,'\n'); break; default: vlozNaKurzor('<'+tag+'>',true,'</'+tag+'>'); break; } } function vlozNaKurzor(text_pred, text_puvodni, text_za) { var textarea = document.formular.policko; if (typeof textarea.selectionStart != 'undefined') // www Moz ; jestlize textarea.selectionStart existuje, pak... { var zacatek = textarea.selectionStart; // zjisti pozici oznaceni v textarea, zacatek var konec = textarea.selectionEnd; // a konec var text_stred = (text_puvodni) ? textarea.value.substring(zacatek, konec) : ''; // jestlize chceme zachovat puvodni text, pak si jej ulozime nebo prepiseme prazdnym retezcem text_stred = text_pred + text_stred + text_za; // naplnime text pro vepsani textarea.focus(); // nastavime pozici v dokumentu na textarea textarea.value = textarea.value.substr(0,zacatek) + text_stred + textarea.value.substr(konec); // zkopirujeme text pred zacatkem, vepiseme nas text, zkopirujeme text za koncem textarea.selectionStart = zacatek + text_stred.length; // nastav kurzor za vlozeny text, zacatek textarea.selectionEnd = zacatek + text_stred.length; // a konec } else if (typeof document.selection != 'undefined') // www IE ; jestlize document.selection existuje, pak... { var text_stred = (text_puvodni) ? document.selection.createRange().text : ''; // jestlize chceme zachovat puvodni text, pak si jej ulozime nebo prepiseme prazdnym retezcem text_stred = text_pred + text_stred + text_za; // naplnime text pro vepsani textarea.focus(); // nastavime pozici v dokumentu na textarea var oznaceni = document.selection.createRange(); // priradime oznaceni do promenne oznaceni.text = text_stred; // prepiseme text v oznaceni; oznaceni.select(); // nastav kurzor za vlozeny text } else { // www ostatni ; provede vlozeni na konec textu text_stred = text_pred + text_stred + text_za; // naplnime text pro vepsani textarea.focus(); // nastavime pozici v dokumentu na textarea textarea.value += text_stred; // pridej na konec } } </script> jak sem dodělat další smajlíky? |
||
Liennie Profil |
#12 · Zasláno: 6. 1. 2011, 21:09:30 · Upravil/a: Liennie
Od čtvrtého řádku:
switch (tag) { case ':D': vlozNaKurzor(' '+tag+' ',false,''); break; //noví smajlíci case ':(': vlozNaKurzor(' '+tag+' ',false,''); break; //noví smajlíci case ':)': vlozNaKurzor(' '+tag+' ',false,''); break; case 'HR': vlozNaKurzor('<'+tag+'>',false,'\n'); break; default: vlozNaKurzor('<'+tag+'>',true,'</'+tag+'>'); break; } } Formulář: ... <input type="button" value=" smich :D " onclick="vlozTag(':D')"> <input type="button" value=" smutek :( " onclick="vlozTag(':(')"> ... |
||
Časová prodleva: 13 let
|
0