[英]Default Submit button for “Enter” key
我有几个Perl CGI页面,其中有多个提交按钮 。 这是必要的,因为我需要使用表单数据来更改数据库(例如,修改,删除,激活)。
我不知道是哪层负责,但是似乎首先在表单上显示了哪个提交按钮,即当您单击键盘上的“ Enter”时将执行的按钮。
这是我的一页提交按钮的示例:
...
#
# Modify button
#
$cgi->submit(
-name => 'Action',
-value => 'Modify',
),
#
# Delete button
#
$cgi->submit(
-name => 'Action',
-value => 'Delete',
),
#
# Activate button
#
$cgi->submit(
-name => 'Action',
-value => 'Activate',
),
#
# Reset button
#
$cgi->submit(
-name => 'Action',
-value => 'Reset',
),
),
$cgi->end_form;
$sth->finish;
}
对于此页面,我希望“修改”按钮为默认按钮(页面上有更多与行内联的提交按钮)。
我找到的最接近的东西建议对所有我不想成为默认按钮的按钮都使用javascript提交按钮,但是他们说我仍然需要在顶部列出我想要作为默认按钮的按钮。 那会破坏我将按钮放置在任何位置并将其选择为默认按钮的目的。
我还看到了一些在使用javascript时用户单击Enter时可能会捕获的选项。
问题:当用户单击Perl CGI表单上的“回车”键时,如何设置默认的提交按钮?
感谢您抽出宝贵的时间对此进行研究。
我不知道是哪一层负责
这是浏览器中HTML表单的基本处理。
但似乎在表单上首先显示的是“提交”按钮,即当您单击键盘上的“ Enter”时将执行的按钮。
正确
当用户单击Perl CGI表单上的“ Enter”键时,如何设置默认的提交按钮?
在表单的开头,重复提交按钮。 由于现在是第一个按钮,因此在文本输入中按Enter提交表单时将触发该按钮。
在其上设置tabindex="-1"
,这样它将超出正常的焦点顺序。
将其放置在屏幕外,以使它不会对用户显示。
HTML中有一个称为“隐藏”的属性。 它可以用来隐藏元素。 通常,在显示元素之前必须满足条件。
在CGI.pm中,您可以通过隐藏所需副本的方法来解决“ Enter”键的默认提交按钮。 将您想成为默认按钮的按钮添加到表单顶部,并添加“ -hidden”属性。
$cgi->submit(-name => 'submit', -value => 'Modify', -hidden),
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.