Autor | Zpráva | ||
---|---|---|---|
DomX Profil * |
#1 · Zasláno: 24. 2. 2010, 04:06:26
Zdravím všechny Javascriptaře!
Potřebuju poradit... Mám formulář, 2 tlačítka... a ideálně bych potřeboval každýmu tlačítku nastavit jiný action. Podotýkám, že se chci vyhnout něčemu, jako value ve skrytém poli a podobně... zkrátka, jak píšu, chci změnit hodnotu formuláře "action". Jde to? Díky za reakce! |
||
sysel Profil |
#2 · Zasláno: 24. 2. 2010, 11:35:40
Nevím zcela jistě, ale zkusil bych:
<input type="button" name="prvni" value="někam" onclick="this.form.action='http://www.nekam.com/'; this.form.submit()"> <input type="button" name="druhy" value="jinam" onclick="this.form.action='http://www.jinam.com/'; this.form.submit()"> |
||
Chamurappi Profil |
#3 · Zasláno: 24. 2. 2010, 11:42:49
Reaguji na DomXe:
Jde to, ale nedoporučuji. Počítáš s případem, že člověk nemá zapnutý JavaScript? „se chci vyhnout něčemu, jako value ve skrytém poli a podobně“ Skryté pole nepotřebuješ. Pokud má odesílací tlačítko name , při stisku se odesílá jeho value a podle ní můžeš na straně serveru snadno rozhodnout, co s daty udělat (klidně můžeš i přesměrovat).
|
||
Domxxx Profil * |
#4 · Zasláno: 25. 2. 2010, 18:33:59
Díky, oběma.
A teď zvlášť to sysel: toto jsem zkoušel, je to vykopávka z dob IE5 (aspoň mám takovej dojem...) a nefunguje to. Respektive mně to nejelo a myslím si, že přistupování k akci formuláře pomocí tohoto postupu bohužel nejde. (this.form.action je objekt null) To Chamurappi: jo počítám, je to "vlastnost" SW, takže zákazník tak jako tak bude muset mít JS zapnutý. Nakonec jsem to vyřešil s tím tlačítkem name ještě dřív, než to tu bylo zmíněno ;-), s tím, že teď musím odeslat formulář do odesílajícího skriptu a na základě name případně přesměrovat s uložením do session někam jinam... (jednou output vyplněného formuláře do "stažení" CSV souboru, druhé - jíná stránka se zpracováním dat...) Ale stejně by mě zajímalo, jestli to jde tím JS, bylo by to jednodušší... |
||
sysel Profil |
#5 · Zasláno: 25. 2. 2010, 19:48:47 · Upravil/a: sysel
V zásadě spíš souhlasím s Chamurappim, ale ten svůj pokus jsem zkoušel a funguje.
Objekt this.form je null pokud jsou ty buttony v "luftě". Jsou-li uvnitř nějakého <form>u není důvod, proč by to nefungovalo. Opodstatnění pro tento způsob je pouze v případě, že stránka je odeslána ze serveru, který provádění skriptů neumožňuje a formulář zpracovat umějí jenom ty cílové odkazy. |
||
_es Profil |
#6 · Zasláno: 25. 2. 2010, 22:25:53
|
||
habendorf Profil |
#7 · Zasláno: 26. 2. 2010, 10:08:32
„Ak sú "v lufte", alebo nie je žiadúce ich mať vo formulári, tak sa dá miesto this.form použiť document.forms.“
A nebo univerzálně d.gEBI. |
||
Časová prodleva: 14 let
|
0