Клав. комбинация с Javascript която да натиска бутона Submit

Post Reply
bazooka21
Нов
Нов
Posts: 2
Joined: Fri Sep 11, 2009 12:36 pm

Клав. комбинация с Javascript която да натиска бутона Submit

Post by bazooka21 » Wed Aug 29, 2018 1:43 pm

Здравейте,
имам страничка, до която имат достъп и слепи хора (използващи синтезиран глас на български).
Имам и текстово поле където потребителят въвежда информация и бутон Submit чрез който я предава на базата данни за запис.
Та молбата ми е, бихте ли помогнали със създаване на скрипт, който да активира Submita чрез клавишна комбинация, например Alt+S или нещо от сорта?
Аз се опитах, но не се получи, не знам по каква причина.
Вижте по долу моя код:
Javascript кода:

Code: Select all

<script type="text/javascript" >
window.onload =document.onkeyup = function&#40;e&#41; &#123;
  if &#40;e.altKey && e.which == 83&#41; &#123;
document.forms&#91;'add_link'&#93;.submit&#40;&#41;;    
  &#125;
&#125;;
</script> 
Html form:

Code: Select all

<form name="add_link" action="save.php" method="post" enctype="multipart/form-data"> 

 Линк&#58; <input type="text" name="link" autofocus="autofocus" size="80"/>
Описание&#58;<textarea name="description" rows="5" cols="100"></textarea>
<input type="submit" name="save_link" value="Запис" />
</form>
Надявам се да има решение?
Благодаря предварително!

Fakeheal
Гуру
Гуру
Posts: 2703
Joined: Sat Apr 17, 2010 6:37 am
Answers: 351
Location: /r/eyebleach
Contact:

Post by Fakeheal » Wed Aug 29, 2018 3:29 pm

Здравей,

не съм много запозната, но по принцип навигирането в полетата на една форма става, със "Tab". Може по този начин да се стигне и до събмит бутона, който да бъде активиран с "Enter". Предполагам софтуера, който се използва чете имената на бутоните/полета. Ако името на бутона е достатъчно обясняващо, че с него се изпраща форма, би трябвало вграденото поведение да е достатъчно.

Доколкото за твоя код, комбинацията от ALT + S е 223:

Code: Select all

document.onkeypress = function &#40;e&#41; &#123;
    e = e || window.event;
    if&#40;e.which === 223&#41;&#123;
    	alert&#40;'Submit form!'&#41;;
    &#125;
&#125;;

User avatar
deam0n
Web-tourist
Web-tourist
Posts: 3019
Joined: Sat Oct 01, 2005 4:33 pm
Answers: 204
Location: Шопландия
Contact:

Post by deam0n » Fri Aug 31, 2018 1:05 pm

Странно.. при мене твоя код работи.. Дава ли ти някаква грешка? Какъв браузър ползваш?

Също е хубаво да сложиш едно e.preventDefault() във функцията, за да избегнеш някакво друго действие от страна на браузъра ако има такава клавишна комбинация.

Fakeheal
Гуру
Гуру
Posts: 2703
Joined: Sat Apr 17, 2010 6:37 am
Answers: 351
Location: /r/eyebleach
Contact:

Post by Fakeheal » Fri Aug 31, 2018 5:12 pm

deam0n wrote:Странно.. при мене твоя код работи.. Дава ли ти някаква грешка? Какъв браузър ползваш?

Също е хубаво да сложиш едно e.preventDefault() във функцията, за да избегнеш някакво друго действие от страна на браузъра ако има такава клавишна комбинация.
Предполагам, че страницата му зарежда малко по-бавно и формата не е видима за js-a, когато тества.

Виж как е декларирал onload event-a.

Post Reply