Javascript 在ReactJS输入元素中阻止表单订阅 我的项目中有一个HTML表单,它部分地写着反应(不要问我为什么。历史问题)。

Javascript 在ReactJS输入元素中阻止表单订阅 我的项目中有一个HTML表单,它部分地写着反应(不要问我为什么。历史问题)。,javascript,reactjs,Javascript,Reactjs,然后是react代码,有效地如下所示: ReactDOM.render( , 应用程序/ /考虑这是应用程序元素 ); 如何仅通过更改React组件中的input元素来停止使用“enter”键提交表单?或者可能吗?在输入上放置一个onKeydown处理程序,接受事件参数为e,在处理程序中,如果e.which为13,则调用e.preventDefault以防止默认操作。它工作!谢谢尝试了onKeyUp,onKeyPress,但无效onKeyDown做这个把戏。我不希望它在回车时提交,因为表单中有

然后是react代码,有效地如下所示:

ReactDOM.render(
,
应用程序/ /考虑这是应用程序元素
);

如何仅通过更改React组件中的
input
元素来停止使用“enter”键提交表单?或者可能吗?

输入上放置一个
onKeydown
处理程序,接受事件参数为
e
,在处理程序中,如果
e.which
为13,则调用
e.preventDefault
以防止默认操作。

它工作!谢谢尝试了
onKeyUp
onKeyPress
,但无效
onKeyDown
做这个把戏。我不希望它在回车时提交,因为表单中有多个输入字段。通常,如果文本字段是表单中唯一的字段,则浏览器仅在输入文本字段时提交。处理将动态生成文本字段的组件(行为类似于textarea)。只是想通过在我的组件中按“回车”来阻止用户提交表单。根据我的经验,“回车后提交”适用于表单中的任何文本字段(即使有多个文本字段)。当然不是我的。例如,如果您将光标放在字段中并按Enter键,只需一个输入即可提交,但使用secod输入则不会提交—我刚刚测试了Chrome、Firefox和IE11(我手头上的浏览器)。您是对的。如果您的表单没有“提交”按钮,则对于多字段表单,“输入时提交”将被取消激活。但是我的表单有一个提交按钮。实际上是这样-(