Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在文本区域按Enter键时如何提交表单_Javascript_Html - Fatal编程技术网

Javascript 在文本区域按Enter键时如何提交表单

Javascript 在文本区域按Enter键时如何提交表单,javascript,html,Javascript,Html,如何通过按中的enter键而不是按按钮来获取提交的表单 如果希望在用户按下ENTER键时提交,则应为其分配onKeyDown事件处理程序,并在检测到按下ENTER键时使用javascript手动提交表单: <html> <head> <script> function pressed(e) { // Has the enter key been pressed? if (

如何通过按中的enter键而不是按按钮来获取提交的表单

如果希望在用户按下ENTER键时提交,则应为其分配onKeyDown事件处理程序,并在检测到按下ENTER键时使用javascript手动提交表单:

<html>
    <head>
        <script>
        function pressed(e) {
            // Has the enter key been pressed?
            if ( (window.event ? event.keyCode : e.which) == 13) { 
                // If it has been so, manually submit the <form>
                document.forms[0].submit();
            }
        }
        </script>
    </head>
    <body>
        <form action="MyInserts.php">
        <textarea onkeydown="pressed(event)"></textarea>
        </form>
    </body>
</html>

如果你像我一样从2020年开始阅读这个问题,并试图将它与typescript一起使用,你可能知道typescript会告诉你e.keyCode或e.which是去润滑的

因此,您可以使用e.key,它将为您提供被按下的键的确切字符串,就像它将为您提供按下Enter按钮的Enter键,或者它将为您提供按下控件btn的ctrl键一样,因此希望您能够理解

此外,如果您想编写一个函数,将其转换为获取密钥代码的旧方法,您可以使用以下方法:

换焦炉{ 案例退格: 返回8; 案例选项卡: 返回9; 案例输入: 返回13; 案例备选: 返回18; 案件逃逸: 返回27; 案例删除: 返回127; 减号: 返回45; 案例补充: 返回43; 大小写相等: 返回61; 案例删除: 返回127; 右括号内的情况: 返回93; 左括号: 返回91; 大小写反斜杠: 返回92; 大小写斜杠: 返回47; 大小写分号: 返回59; 病例结肠: 返回58; 大小写逗号: 返回44; 个案期间: 返回46; 案例空间: 返回32; 案例引用: 返回34; 案例回溯: 返回39; //还有Numpad…变体 案件不明: 如果你想的话,警惕处理“不明身份者”!; } 还有许多其他可能的字符值 但是,顺便说一句,它们没有unicode代码点,例如:

开关钥匙{ 案例左起: case CapsLock: 案件控制权: 案例Fn: 案例说明: ... event.which可能会为它们输出一些数字,但在整个
浏览器/计算机,它们可能会与其他代码点重叠。

你需要学习一些技巧来完成这一点。。顺便说一句,标记使用小写字母,ENTER可能会在这里起作用,你不需要使用任何特殊的javascript。欢迎使用,你真的需要改进这个问题。看看常见问题解答。你的意思是按ENTER键吗点击发送按钮的风险?@War10ck action=MyInserts。php@Mr.Alien不用担心,长官。一切都好。@KelvinBala在你的问题下面有一个名为edit的按钮。如果你的评论是想告诉我们这是你的代码,请用它来编辑。@KelvinBala:你的代码可能会遭到XSS攻击,你应该在ting$\u获得[ident]为了避免这种情况。很抱歉对一篇四个月前的帖子发表评论,但是你能解释一下window.event吗?event.keyCode:e.每个部分的含义是什么?为什么我不能只使用e.which?@user1755043一些浏览器,比如IE<9不支持e.which。而其他浏览器似乎不支持window.event.keyCode。有关更多上下文,请参阅Tim Down的答案。
<html>
    <head>
        <script>
        function pressed(e) {
            // Has the enter key been pressed?
            if ( (window.event ? event.keyCode : e.which) == 13) { 
                // If it has been so, manually submit the <form>
                document.forms[0].submit();
            }
        }
        </script>
    </head>
    <body>
        <form action="MyInserts.php">
        <textarea onkeydown="pressed(event)"></textarea>
        </form>
    </body>
</html>