2017-04-03 45 views
1

我在項目,該項目的一部分被寫有一個HTML形式做出響應(不要問我爲什麼歷史問題。)考慮它看起來像這樣:防止形式的認購

<html> 
<form> 
<input type="text" name="name" /> 
<div id="app"><!-- React component here --></div> 
</form> 
</html> 

然後反應碼,有效像這樣:

ReactDOM.render(
    <div> 
    <input type="text" /> 
    </div>, 
    app // consider this is the #app element 
); 

如何我可以僅通過更改我的陣營組成的input元素與「ENTER」鍵停止提交表單?或者可能嗎?

+0

我不希望它在Enter上提交,表單中有多個輸入字段。通常,如果文本字段是表單中的唯一字段,則瀏覽器僅在文本字段中提交輸入內容。 –

+0

處理將動態生成文本字段的組件(類似textarea)。只是想通過在我的組件中按「Enter」來阻止用戶提交表單。 –

+0

根據我的經驗,「輸入時提交」適用於表單中的任何文本字段(即使有多個文本字段)。 –

回答

2

把一個onKeydown處理器上input接受事件參數爲e,並在處理程序,如果e.which是13,請撥打e.preventDefault防止默認動作。

+1

它的工作原理!謝謝!試過'onKeyUp','onKeyPress',它不起作用.' onKeyDown'做的竅門。 –