Autor | Zpráva | ||
---|---|---|---|
TomasRe Profil |
Ahoj,
dopředu říkám, že javascript vůbec neumím. Stáhnul jsem našeptávač wick http://wick.sourceforge.net/wick_sample/ - funguje přesně, jak si představuji. Ale potřeboval bych to pro více polí s různýmy výrazy - první pole bude obsahovat jednu skupinu slov, druhé pole jinou skupinu... do indexu jsem tedy vložil novou <textarea class="wickEnabled2"> ze souboru wick.js jsem vytvořil kopii wick2.js, kde jsem upravil řádek upEl = isWithinNode(eL,null,"wickEnabled2",null,null); v souboru wick2.js jsem upravil řádek na pointerToCollectionToUse = collection2; ze souboru sample_data.js jsem vytvořil kopii sample_data2.js a upravil název skupiny na collection2 ale stále mi to v obou <textarea> nabízí výběr slov z druhé skupiny slov. Druhý script přepisuje ten první. Můžete mi s tím prosím někdo poradit? Případně, jestli mi někdo poradíte nějaký obdobný nástroj. Problémem je, že téměř všechny našeptávače jsou dělané na jeden výraz. Do textarea potřebuji vypsat více slov oddělené středníkem. |
||
_es Profil |
#2 · Zasláno: 8. 9. 2015, 13:26:51
TomasRe:
„jsem upravil řádek upEl = isWithinNode(eL,null,"wickEnabled2",null,null);“ Text "wickEnabled" sa však v tom súbore nachádza viac krát. Okrem toho by taká úprava aj tak nefungovala, lebo funkcie tam sú globálne a prepísali by sa. Mohlo by fungovať prepísať premennú collection zo súboru sample_data.js . Teda pred input alebo textareu, kde má byť iné „našepkávanie“ vložiť skript, kde sa tá premenná zmení.
|
||
TomasRe Profil |
_es:
Zkusil jsem tedy dát vše do původní podoby, jen jsem před každou textarea vložil script se skupinou slov. Bohužel to v obou případech bere slova pouze z druhé skupiny: <form onSubmit="return checkForm()"> <script>collection = ['písek','pero','plomba'];</script> <textarea class="wickEnabled" cols="50" rows="3" wrap="virtual"></textarea> <br> <script>collection = ['pásovec','pes','pštros'];</script> <textarea class="wickEnabled" cols="50" rows="3" wrap="virtual"></textarea> </form> Když ještě přejmenuju proměnnou collection na něco jiného, bere to v úvahu jen seznam slov ve skupině collection. |
||
_es Profil |
#4 · Zasláno: 8. 9. 2015, 15:14:48
TomasRe:
Došlo mi až neskôr, že ani to nebude fungovať. Asi by bolo lepšie použiť nejaký iný „našepkávač“, henten ani podľa kódu nevyzerá byť nejako dobre spravený. |
||
TomasRe Profil |
_es:
Bohužel se v JS opravdu nevyznám, ostatní našeptávače jsou dělané převážně na jeden výsledek :-(. Nešlo by tedy v tomto přiřadit ke každé textarea id a ve scriptu (nějak) přiřadit skupinu slov podle id? Něco ve smyslu <form action=""> <textarea class="wickEnabled" cols="50" rows="3" id="veci"></textarea> <br> <textarea class="wickEnabled" cols="50" rows="3" id="zvirata"></textarea> </form> <script type="text/javascript"> if (document.getElementById.id == 'veci'){collection = ['písek','pero','plomba'];} else {collection = ['pásovec','pes','pštros'];} </script> |
||
_es Profil |
#6 · Zasláno: 8. 9. 2015, 18:04:04
TomasRe:
Pokiaľ chceš použiť tento našepkávač, tak najjednoduchšie riešenie bude dať jednotlivé textové vstupy do iframe a skripty načítať tiež tam. |
||
TomasRe Profil |
#7 · Zasláno: 9. 9. 2015, 07:50:58
_es:
Když to vložím do iframu, tak to nefunguje vůbec :-(. Ale stačilo by, abych do javascriptu načetl id daného pole. Co jsem se kde díval, tak už mi to vypíše správný id pole, ale neumím to skloubit. U textarea jsem přidal id a onclick="collectid(this);" - při kliku na textarea správně vypíše id daného pole, ale již se podle toho neřídí... <script type="text/javascript">if (document.getElementById.id == 'veci'){collection = ['písek','pero','plomba'];} else {collection = ['pásovec','pes','pštros'];}</script> <script type="text/javascript">function collectid(elem) {alert(elem.id);}</script> |
||
_es Profil |
TomasRe:
„Když to vložím do iframu, tak to nefunguje vůbec :-(“ No ale musíš do toho iframu vložiť aj skripty - aby v ňom bolo všetko ako v ukážkovom príklade. Hm>mm a nezakladaj duplicity ( Přiřadit proměnné podle id) - z toho vlákna aj tak nikto nepochopí o čo ide. |
||
TomasRe Profil |
#9 · Zasláno: 9. 9. 2015, 09:12:31
_es:
V iframu to funguje. Super. Díky. Jen to má několik nevýhod - style nemá vliv na výběr slov, slova se zobrazují pod rámem, schované dole... Proto jsem i zkusil založit nové téma, abych to zkusil cestou, kdy se přiřadí skupina slov podle id. Iframe nepoužívám z těchto důvodů moc rád... |
||
juriad Profil |
TomasRe:
Našel jsem třeba tento našeptávač (leaverou.github.io/awesomplete), který take umí vice hodnot a umí běžet na jedné stránce mnohokrát. Je to hodně tvárný našeptávač, ale musí se občas trochu doprogramovat. Viz: Živá ukázka |
||
TomasRe Profil |
#11 · Zasláno: 9. 9. 2015, 10:40:14 · Upravil/a: Moderátor (editace znemožněna) 9. 9. 2015, 12:16:18
juriad:
Super, funguje perfektně. Strašně moc děkuju... Moderátor juriad: Nezamykej, není to potřeba. Dokážeme ohlídat, že sem nikdo nic nepatřičného nenapíše. A ty naopak můžeš pokračovat v diskusi, pokud potkáš nějaký další problém s našeptáváním.
|
||
Časová prodleva: 9 let
|
0