Autor Zpráva
TPav303
Profil
Dobrý den, měl bych obecný dotaz a poprosil bych případně pouze o nasměrování.

Ve svém zaměstnání využívám systém, který mi na intranetu ve webovém prohlížeči zobrazuje prvky formuláře, které vyplňuji a následně odešlu.

Jelikož mám tyto data, které vkládám do tohoto systému již v elektronické podobě, zajímalo by mě, zda by šlo udělat nějaký skript na to, který by mi tato data sám vyplnil do formuláře na intranetových stránkách. Přičemž nemám oprávnění skript zapsat do kódu, který mi tyto stránky generuje a nemám rovněž přístup k souborům serveru.

Zajímalo by mě zda lze nějaký takový skript vytvořit a využít. Odkud by se pak mohl spouštět.

Pokud bych tento problém měl popsat přeneseně, tak by mě například zajímalo zda můžu vytvořit a odkud můžu spustit skript, který mi vyplní a odešle vyhledávací pole na stránce seznam.cz nějakou mojí přednastavenou hodnotou..;)

Budu vděčný za jakoukoli radu, jsem v tomto směru dost zvědavý.

Kdybyste měl někdo odkaz na nějaký podobný obslužný skript, budu Vám moc vděčný.

S pozdravem TPav303 - Tomáš
_es
Profil
TPav303:
Viď: Bookmarklet. Alebo, do niektorých prehliadačoch idú začleniť vlastné skripty aj inými spôsobmi.
TPav303
Profil
Děkuji za rychlou odpověď, zodpovídá tu část dotazu, jak javascript spustit.

Zajímalo by mě tedy dále jestli jsou nějaké předdefinované funkce jak osadit určité pole formuláře na stránce a jak do něj vložit hodnotu..;)
TPav303
Profil
Tak jsem našel zajímavý tip tady:
Adresování prvků dokumentu » Změna hodnoty políčka formuláře

Ale ať jsem se snažil zapsat bookmarklet jakkoli podle návodu tak se mi hodnotu do pole těchto formulářů:
Různý zápis přístupu k políčku formuláře
vložit nepodařilo.

Konkrétně jsem zkoušel následující:
javascript:document.forms[0][0].value="ahoj";
..i různé malé obměny, ale neúspěšně..

Určitě už to nebude chtít mnoho.. Dokáže někdo prosím zapsat ten bookmarklet tak aby byl funkční? Budu Vám moc vděčný..;)

Tom
TPav303
Profil
Napadá prosím někoho jak ten bookmarklet upravit, aby byl funkční, nebo kam bych se měl obrátit pro radu?
_es
Profil
TPav303:
jak ten bookmarklet upravit, aby byl funkční
To ti bez živej ukážky asi ťažko niekto poradí. Jednak je tá „funkčnosť“ závislá od stránky, kde má „fungovať“ a tiež nie je celkom jasné, čo to má robiť.
Chamurappi
Profil
Reaguji na TPava303:
Konkrétně jsem zkoušel následující
… a stránku ti přepsalo slovo „ahoj“, že? Musíš zajistit, aby příkaz v bookmarkletu neměl návratovou hodnotu. To se dělá třeba operátorem void:
javascript:void(document.forms[0][0].value="ahoj");

Některé prohlížeče také brání tomu, aby skript zapsaný přímo do adresního řádku zasahoval do stránky. Ale ve formě bookmarklety to funguje.
preca1
Profil
_es:
No on tam právěže tu živou ukázku má :). Je jí ta stránka na JPW (2. odkaz). Pro testovací účely se pokouší změnit první z těch 4 inputů.
Mně osobně to teda taky nejde (ve FF). Udělal sem si záložku s odkazem
javascript:document.formular.policko.value='ahoj';
a přiřadil sem jí klíčový slovo. Když jí pomocí toho klíčovýho slova zavolam, tak mě to hodí na novou stránku, kde je napsaný akorát ahoj.


Chamurappi:
To je ono. Jaktože nefunguje javascript:document.formular.policko.value='ahoj'; return false;?
Chamurappi
Profil
Reaguji na precu1:
Příkaz return nefunguje, protože bookmarklet není funkce, ale normální globální blok skriptu. I normální příkazy mívají návratovou hodnotu, celkovou návratovou hodnotu bookmarkletu určuje poslední příkaz, takže krom obalení voidem by fungovalo třeba připsat za středník undefined;.
Vrátit false nepomůže, protože jediná hodnota, která zabrání přepsání existujícího dokumentu, je undefined. Posuzování pravdivosti (přetypování na boolean) se tady neděje.
preca1
Profil
Super, děkuju za vysvětlení :).
TPav303
Profil
Děkuji všem co se angažují ve zodpovězení mého dotazu.. Po Chamurappiho úpravě už je to funkční. Jen bych měl ještě dotaz, v naprosté většině je to funkční, ale například na stránce seznam.cz tento bookmarklet nijak nereaguje, čím to je?
Davex
Profil
TPav303:
na stránce seznam.cz tento bookmarklet nijak nereaguje, čím to je?
Že by mínusem v id formuláře?

Stejně jako Chamurappiho příklad [#7] mi toto na úvodní stránce funguje.

javascript:void(document.getElementById("inet-f").q.value="rozbij seznam")
preca1
Profil
Můžeš ukázat kód bookmarkletu pro Seznam a přesně na jaké URL ho zkoušíš?
TPav303
Profil
javascript:void(document.getElementById("inet-f").q.value="rozbij seznam")

Dobře, té funkcionalitě rozumím, ale vychází mi tedy z toho, že formuláře, které mají své id jsou z "proměnné" forms vyčleněny. Nebo respektive, že "proměnná" forms uchovává informace pouze o jednoznačně neidentifikovaných formulářích.
Moc děkuji..;)
Davex
Profil
TPav303:
vychází mi tedy z toho, že formuláře, které mají své id jsou z "proměnné" forms vyčleněny
Ne. Ve forms je kolekce všech formulářů na stránce. Použil jsem jen jiný přístup.

Chamurappiho příklad funguje také po drobné úpravě.
javascript:void(document.forms["inet-f"].q.value="rozbij seznam")

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: