Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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 使用JS热键提交表单?_Javascript_Html_Css_Forms - Fatal编程技术网

Javascript 使用JS热键提交表单?

Javascript 使用JS热键提交表单?,javascript,html,css,forms,Javascript,Html,Css,Forms,这是我当前的代码: <select tabindex="2" id="resolvedformsel" name="resolved"> <option selected="selected" value="yes">resolved</option> <option value="no">not resolved</option> <option value="mu">not a suppor

这是我当前的代码:

<select tabindex="2" id="resolvedformsel" name="resolved">
     <option selected="selected" value="yes">resolved</option>
     <option value="no">not resolved</option>
     <option value="mu">not a support question</option>
</select>
<input type="submit" value="Change" id="resolvedformsub" name="submit">

断然的
未解决
不是支持性问题
我想使用组合键(如Ctrl+Alt+1)使选择“已解决”并立即执行“提交”。我正在为支持论坛做这个修改,用热键标记线程会很方便

我不包括jQuery!它必须是纯JS解决方案。有什么想法吗


换句话说:JS与jQuery的keypress/keydown的等价物是什么?

组合键并不容易,有些键是保留的。所以它可能不起作用。我会这样尝试:在jQuery源代码中检查它们是如何捕获事件对象的元键属性的。看看一些使用组合键处理事件的插件。希望这能给你一些“灵感”。

如果你有一个表单会更好,但你仍然可以使用:

window.addEventListener('keypress', function (event) {
    if (event.which == 13 && event.ctrlKey) { // Ctrl + Enter
        document.getElementById('resolvedformsel').options[0].selectected = true;
        document.getElementById('resolvedformsub').click();
    }
})

我不知道我需要使用什么功能。我可以用jQuery(使用keydown、keypress等)轻松编写,但用JS。。。我在问一些想法。一些解决方案包括,但这不适合我。只是一个想法:抓住关键点,跟随并结合超时。谢谢你的建议!这是一个有用的答案:)太好了!我认为这会奏效,而且很简单。到目前为止,它给了我
document.getElementById(“resolvedformsel”)。元素未定义
但我认为我可以很容易地找到解决方案:)如果您有一个包含这些元素的表单,请使用form.submit()而不是document.getElementById(“resolvedformsub”)。单击();它与click一起工作,令人惊讶的是它与
submit()不一起工作。错误:
document.getElementById(“已解决”).submit不是一个函数
。表单的id为
#resolved
。我不是JS大师,所以也许我做错了什么——我直接从jQuery开始(没有JS基础)。我想我可以在谷歌上搜索一些解决方案:)非常感谢你的帮助!您确定表单的id为“已解析”吗?所有表单元素都有.submit()方法,正如我看到的,它可以有id“resolvedform”是的:这不是一个大问题,因为它与
click()一起工作但可能是一些有趣的异常(?)。我删除了屏幕截图上的
action=”“