Autor | Zpráva | ||
---|---|---|---|
nofate Profil |
#1 · Zasláno: 27. 4. 2007, 22:53:17 · Upravil/a: nofate
Zdravim, neviete mi poradit ako spravne poukladat nasledujuci kod, aby sa formular odoslal iba vtedy, ked uzivatel potvrdi java skriptovu otazku (ak nepotvrdi, tak aby sa form neodoslal. proste nic) ?
Lebo teraz sa formular odosle aj ked kliknem "cancel" pri java skriptovej otazke. OnClick="javascript: { document.forms['dlt'].elements['soubor'].value = '11'; document.forms['dlt_pic'].submit(); return false; return confirm('Chcete pokracovat??'); }" toto som mal doteraz a funguje: OnClick="javascript: { document.forms['dlt'].elements['soubor'].value = '11'; document.forms['dlt'].submit(); return false; }"... ale nemam tam to potvrdenie ci chce alebo nechce pokracovat: return confirm('Chcete pokracovat?'); |
||
Alphard Profil |
#2 · Zasláno: 27. 4. 2007, 23:18:48
<form action="" onSubmit="return confirm ('Chcete pokračovat?')">
<input type="submit" value="Send"> </form> |
||
nofate Profil |
#3 · Zasláno: 29. 4. 2007, 19:07:37
ee. Ked som dal do <form> onSubmit="return confirm ('Chcete pokračovat?')"
tak po kliknuti na moj link <a href="neco" onclick="javascript: { document.forms['dlt'].elements['soubor'].value = '11'; document.forms['dlt'].submit(); return false; }"> odkaz </a> sa formular odosle ale kontrolna otazka nenabehne. Ale vdaka aj tak. Nejake dalsie navrhy? |
||
Časová prodleva: 12 dní
|
|||
Petroff Profil |
#4 · Zasláno: 11. 5. 2007, 11:00:58
<To: Alphard>
Ovladač onSubmit se spustí pouze při odeslání formuláře tlačítkem ODESLAT (popř. ENTER) v onom formuláři. Odešleme-li formulář voláním metody submit() - což je tento případ - nedojde k volání onSubmit. <ŘEŠENÍ> <a href="#" onclick="document.forms['dlt'].elements['soubor'].value = '11'; if (confirm ('Chcete pokračovat?')) {document.forms['dlt'].submit()}; return false"> odkaz </a> popripade <a href="#" onclick="if (confirm ('Chcete pokračovat?')) {document.forms['dlt'].elements['soubor'].value = '11'; document.forms['dlt'].submit()}; return false"> odkaz </a> Nepleť si použití javascriptu: (A) jako kódu ovladače události, který se zadá jako hodnota atributu: <a .... onsubmit="xxxx.value+='pridat';return funcY()">....</a> tj.JS příkazy v uvozovkách (B) s kódem jako součástí hodnoty atributu href,src...atd., kde se použije na místě adresy zápis s pseudoprotokolem javascript: <a href="javascript:document.forms['xxx'].submit()">.....</a> Je to chyba, kterou začátečníky v JS zmateš, a ono se to pak vesele rozšiřuje (nejsi zdaleka první u koho jsem se s tím setkal) |
||
nofate Profil |
#5 · Zasláno: 11. 5. 2007, 22:21:03
No super, dakujem. Zrejme si odbornik na JS.
Takze pri tomto: <a href="#" onclick="if (confirm ('Chcete pokračovat?')) {document.forms['dlt'].elements['soubor'].value = '11'; document.forms['dlt'].submit()}; return false"> odkaz </a> nema byt na zaciatku "javascript:" A ked ho dam tak bude fungovat, ale preco to tam nema byt? A kedy to tam ma byt? Diky |
||
Petroff Profil |
#6 · Zasláno: 13. 5. 2007, 09:02:25
Prostě u všech ovladačů tj. onClick,onMouseover,onSubmit,onKeypress......atd. piš do uvozovek rovnou Javascriptový kód:
<xxx onYyyy="příkaz JS;příkaz JS;příkaz JS"> zzzz </xxx> Kdyby sis chtel vyzkouset zpusob kde bez zadaní javascript: nedostaneš svuj vysledek: <a href="#" onclick="alert('Funguje');return false">testuju kod v onclicku </a> <a href="#" onclick="javascript:alert('Funguje');return false">nepouzivej kod v onclicku s javascript: navic </a> <a href="javascript:alert('Funguje' )">testuju kod v href s pouzitim protokolu javascript: </a> <a href="alert('Funguje' )">kod v href nefunguje bez pouziti javascript: </a> |
||
Alphard Profil |
#7 · Zasláno: 13. 5. 2007, 11:23:46
Petroff
Ovladač onSubmit se spustí pouze při odeslání formuláře tlačítkem ODESLAT... já vím, můj příklad byl funkční a odesílal se pomocí Send (resp. enter), že form odesílá pomocí odkazu jsem nevěděl nofate měl jsem to přečíst pozorněji, omlouvám se |
||
nofate Profil |
#8 · Zasláno: 13. 5. 2007, 11:57:47
Petroff dakujem za vysvetlenie, uz mi je to jasne a budem sa podla toho riadit. ;-)
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0