Odeslání formuláře pomocí klávesy mezerník

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
pescadero
Člen | 3
+
0
-

Ahoj,
mám na stránce formulář pomocí něhož odchytávám jednotlivé mezičasy ze stopek, které běží na serveru. Jednotlivé mezičasy si zobrazuji pomocí AJAXu na stránce. Nemůžu ale přijít na to, jak odesílat formulář stisknutím mezerníku (pro pohodlnější zaznamenávání jednotlivých mezičasů). Nevěděl by někdo jak to udělat? Díky moc za každou radu.

Filip Procházka
Moderator | 4668
+
0
-

budu předpokládat že používáš jQuery

$('#target').keyup(function(event) {
	if (event.keyCode == '23') { // mezernik
		event.preventDefault();
		alert('mezernik!');
		var form = event.target.form; // kazdy event ma cil (target) a input element ma pristupny form
		$(form).submit(); // nebo .ajaxSubmit(); což je rozšíření v https://addons.nette.org
	}
});

1 minuta hledání na google ;)

pescadero
Člen | 3
+
0
-

Díky moc. Už Googlím několik hodin a nic kloudného jsem nenašel:-) Nicméně mi ten kód nefunguje. Nahradil jsem target za moje id a vůbec se nedostanu k tomu alertu. Mačkám mezerník a nic:-(

Blizzy
Člen | 149
+
0
-

Není keyCode mezery 32 a ne 23?

pescadero
Člen | 3
+
0
-

Je:-) díky moc. Zase jsem se posunul. Zjistil jsem, že ta funkce mi funguje pouze když jí obalím $(document).ready(function() . Ale to mi potom funguje jen jeden mezerník:-(

Filip Procházka
Moderator | 4668
+
0
-

Omlouvám se za zmatení, samozřejmě tam má být 32.

Víš vůbec co ta funkce dělá? Všiml jsi si, že tam je nějaké odesílání atd?

$(document).ready(function( se ti totiž vykoná až po načtení celé stránky, což je účel, nemůžeš navazovat event na element scriptem v hlavičce, když se ti tělo ještě nenačetlo.