Autor | Zpráva | ||
---|---|---|---|
TFSi Profil |
#1 · Zasláno: 7. 5. 2011, 20:45:09
Ahoj,
chtěl bych k formuláři přidat možnost odeslání po stisknutí CTRL + S. Odchycení CTRL + S vcelku není problém, ale problém je, že se zároveň otevře dialog prohlížeče na uložení stránky. Třeba v GMailu to mají nějak ošetřené, takže při psaní nové zprávy a stisku CTRL+S se dialog prohlížeče nezobrazí. Mám tento kód: var isCtrl = false; document.onkeyup = function(e){ if(e.which == 17) isCtrl=false; } document.onkeydown=function(e) { if(e.which == 17) isCtrl=true; if(e.which == 83 && isCtrl == true) { // kód provedený při CTRL + S } } Neví někdo jak na to, aby to fungovalo? Předem díky, T. |
||
ShiraNai7 Profil |
#2 · Zasláno: 7. 5. 2011, 20:49:06
TFSi:
Vracej z těch funkcí false. return false; tj. "stisknutí nebylo", pak by to neměl prohlížeč brát |
||
TFSi Profil |
#3 · Zasláno: 7. 5. 2011, 21:05:08
Tak jsem asi něco vykoumal:
return false; sice funguje, ale pouze pokud nikde nemám alert(); Když při kontrole formuláře vyhodím třeba: alert('Špatně vyplněné pole "Jméno"!'); return false; tak už se ukládací dialog zobrazí. Tudíž musím předělat fci která kontroluje formulář a alerty nahradit něčím jiným... ... že mě to nenapadlo hned :| |
||
ShiraNai7 Profil |
#4 · Zasláno: 7. 5. 2011, 21:12:09
TFSi:
„Tudíž musím předělat fci“ Dá se to obejít... setTimeout(function(){ nějaký kód... alert('bla bla'); další kód... },1); return false; |
||
Časová prodleva: 13 let
|
0