Autor | Zpráva | ||
---|---|---|---|
Onecar Profil |
#1 · Zasláno: 3. 10. 2006, 18:46:58 · Upravil/a: Onecar
Zdravím,
mám tenhle script <script language="javascript" type="text/javascript"> <form> Teď bych však potřeboval, aby po stisknutí Storno (tedy navrácení FALSE) se nic nedělo, a naopak aby po stisknutí OK došlo k odeslání dat. Nevíte prosím jak na to? |
||
quinux Profil |
#2 · Zasláno: 3. 10. 2006, 18:49:33
Onecar
Reaguj tak, že to storno odstraň. Je tam zbytečné a jen dochází k tomu, že si ho uživatel zmáčkne nechtěně a tak přijde o vše co vyplnil. Mnohdy pak odchází aniž by vyplňování zopakoval, takže pokud je to nějaký objednávkový formulář, přicházíš o zákazníky. |
||
Dero Profil |
#3 · Zasláno: 3. 10. 2006, 18:50:23
<script language="javascript" type="text/javascript"> |
||
Michalek Profil |
#4 · Zasláno: 3. 10. 2006, 18:50:48 · Upravil/a: Michalek
asi :) // No tohle, tolik odpovědí než to sesmolím... // Ale řekl bych, že když bude return vázaný na input jak navrhuje Dero, nebude to fungovat; myslím. |
||
Dero Profil |
#5 · Zasláno: 3. 10. 2006, 18:52:57
Michalek: To bude fungovat, ale těžkopádně a se zbytečným kódem. Dovolím si doporučit spíše tu moji metodu.
|
||
Dero Profil |
#6 · Zasláno: 3. 10. 2006, 18:53:53
// Ale řekl bych, že když bude return vázaný na input jak navrhuje Dero, nebude to fungovat; myslím.
Ale bude. |
||
Michalek Profil |
#7 · Zasláno: 3. 10. 2006, 18:55:30
Dero: Ok, zkusil jsem a máš pravdu. Ale žiu v přesvědčení, že mi to někde nefungovalo. Jinak čistota kódu jasně, nechal jsem se zmást tím "kontrola="
|
||
Onecar Profil |
#8 · Zasláno: 3. 10. 2006, 18:56:54
Moc moc moc díky, Derův kód funguje báječně :-). JavaScript se učím 3 dny, ale prostě jsem nevěděl jak figure it out. Díky moc za ochotu a skvělý servis :-).
|
||
Onecar Profil |
#9 · Zasláno: 3. 10. 2006, 18:59:30
P.S.: Původně jsem měl napsaný silně podobný kód jako Michalek, ale nevěděl jsem, že do onClick mám dopsat ještě return. Mohli byste mi to prosím vysvětlit, proč tam je napsán?
|
||
Michalek Profil |
#10 · Zasláno: 3. 10. 2006, 19:02:34
http://www.jakpsatweb.cz/javascript/formular-zruseni.html
Yuhů: "Důležité je všimnout si, že funkce má návratové hodnoty (return něco). Jinak řečeno funkce plive pravdu nebo nepravdu." |
||
Dero Profil |
#11 · Zasláno: 3. 10. 2006, 19:14:02
Dero: Ok, zkusil jsem a máš pravdu. Ale žiu v přesvědčení, že mi to někde nefungovalo. Jinak čistota kódu jasně, nechal jsem se zmást tím "kontrola="
Jj, chápu, co Tě zmátlo. Jinak bych řekl, že jde o velmi bezpečnou konstrukci, která by měla fungovat opravdu v každém alespoň trochu použitelném parseru JS. |
||
venca12 Profil |
#12 · Zasláno: 4. 10. 2006, 10:22:13
Můžeš zkusit použít i tohle
Případně si ten skript vložit do externího souboru aby jsi neměl v kódu moc balastu. Blbě se v tom člověk pak vyzná, když má js, html a třeba ještě php a css v jednom souboru. |
||
los Profil * |
#13 · Zasláno: 4. 10. 2006, 13:19:06
Skôr by som zavesil obsluhu na submit formulára (ako to spravil Michalek), pretože keď je len na tlačidle, tak napr. v IE sa pri odosielaní formuláru pomocou enteru v input type=text udalosť click jednoducho nevyskytne.
<form action="" method="get" onsubmit="return confirm('really?')"> Atribút onclick sa nepíše s veľkým C. |
||
Onecar Profil |
#14 · Zasláno: 4. 10. 2006, 16:18:49
Vzhledem k tomu, že jsem konečně pochopil, jak zastavit provádění scriptu (return false;) jsem si napsal funkci svou, díky moc za rady a vesměs skvěle funkční scripty.
<script language="javascript" type="text/javascript"> <input type="submit" name="send" id="send" value="Send the joke" onClick="return zkontroluj()" /> |
||
habendorf Profil |
#15 · Zasláno: 4. 10. 2006, 16:43:39
Nešlo by místo
if (kontrola) { return true; } else { return false; } napsat prostě return (kontrola) ? |
||
habendorf Profil |
#16 · Zasláno: 4. 10. 2006, 16:45:45
Nebo ještě líp
return window.confirm('Chcete pokračovat?'); ale to už vlastně psal Dero :o) |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0