簡體   English   中英

在文本區域上按Enter鍵時如何提交表單?

[英]How to submit a form when the Enter Key on a textarea?

我想通過單擊地球上任何鍵盤上的Enter鍵,在文本區域中提交內容,如下所示。 當用戶按下Shift+Enter鍵時,插入符號必須轉到新行,並且在Enter ,提交的文本區域內容應具有按下Shift+Enter時創建的新行。 textarea的內容應在div之后插入帶有commentWrap類的commentWrap但最后提交的注釋應出現在最后,反之亦然。

我希望該解決方案能在所有瀏覽器中使用。

<div class="commentWrap"></div>

<textarea id="test"></textarea>

<script type="text/javascript">
    $(document).ready(function() {
        $("#test").keypress(function(e) {
            var textVal = $(this).val();
            if(e.which == 13 && e.shiftKey) {
                //What should I really do here
            }
            else if (e.which == 13 && ! e.shiftKey) {
                e.preventDefault(); //Stops enter from creating a new line
                //this.form.submit(); //or ajax submit
                if (this.value ==="") {
                    alert("Hey punk! Put some text before you hit enter.");
                }else {
                    alert(textVal);
                    $("<div class='comment'>"+ textVal +"</div>").insertAfter('.commentWrap');
                }
            }
        });
    });
</script>

//我應該在這里真正做什么

我認為,如果按下shift + enter,所有瀏覽器都不會插入新行,因此您可以返回true;

如果您已經具有用於提交表單的提交按鈕,則只需觸發點擊處理程序即可。

    $("#submitButton").click();

React:如何提交表單<textarea>&lt;i&gt;with enter key and without a submit button with React Hooks?&lt;/div&gt;&lt;/i&gt;&lt;b&gt;帶有回車鍵且沒有帶有 React Hooks 的提交按鈕?&lt;/div&gt;&lt;/b&gt;</textarea><div id="text_translate"><p> Halo 伙計們,我對反應很陌生,我想提交一個只有文本區域的表單,並按下enter鍵。 我遵循了一些 SO 問題,但仍然沒有運氣,因為它沒有被提交。 我還想在提交后清除文本區域。 我怎樣才能用下面的代碼做到這一點?</p><p> 這是我目前擁有的代碼。</p><pre> const { register, handleSubmit, control, errors } = useForm(); const CommentOnSubmit = (data) =&gt; { let formData = new FormData(); formData.append('content', data.content); formData.append('user', user?.id); axiosInstance.post(`api/blogs/` + slug + `/comment/`, formData); }; // const commentEnterSubmit = (e) =&gt; { // if(e.key === 'Enter' &amp;&amp; e.shiftKey == false) { // return( // e.preventDefault(), // CommentOnSubmit() // ) // } // } &lt;form noValidate onSubmit={handleSubmit(CommentOnSubmit)}&gt; &lt;div className="post_comment_input"&gt; &lt;textarea type="text" placeholder="Write a comment..." name="content" ref={register({required: true, maxLength: 1000})} /&gt; &lt;/div&gt; &lt;div className="comment_post_button"&gt; &lt;Button type="submit" variant="contained" color="primary"&gt;comment&lt;/Button&gt; &lt;/div&gt; &lt;/form&gt;</pre><p> 請幫忙。</p><p> 非常感謝。</p></div>

[英]React: How to submit a form with <textarea> with enter key and without a submit button with React Hooks?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 如何在文本區域中按 Enter 時提交表單 通過Enter鍵提交表單,但javascript中的textarea除外? 提交textarea表單,而沒有帶有Enter鍵的提交按鈕 當我有按鈕而不是提交時如何使用回車鍵提交表單 React:如何提交表單<textarea>&lt;i&gt;with enter key and without a submit button with React Hooks?&lt;/div&gt;&lt;/i&gt;&lt;b&gt;帶有回車鍵且沒有帶有 React Hooks 的提交按鈕?&lt;/div&gt;&lt;/b&gt;</textarea><div id="text_translate"><p> Halo 伙計們,我對反應很陌生,我想提交一個只有文本區域的表單,並按下enter鍵。 我遵循了一些 SO 問題,但仍然沒有運氣,因為它沒有被提交。 我還想在提交后清除文本區域。 我怎樣才能用下面的代碼做到這一點?</p><p> 這是我目前擁有的代碼。</p><pre> const { register, handleSubmit, control, errors } = useForm(); const CommentOnSubmit = (data) =&gt; { let formData = new FormData(); formData.append('content', data.content); formData.append('user', user?.id); axiosInstance.post(`api/blogs/` + slug + `/comment/`, formData); }; // const commentEnterSubmit = (e) =&gt; { // if(e.key === 'Enter' &amp;&amp; e.shiftKey == false) { // return( // e.preventDefault(), // CommentOnSubmit() // ) // } // } &lt;form noValidate onSubmit={handleSubmit(CommentOnSubmit)}&gt; &lt;div className="post_comment_input"&gt; &lt;textarea type="text" placeholder="Write a comment..." name="content" ref={register({required: true, maxLength: 1000})} /&gt; &lt;/div&gt; &lt;div className="comment_post_button"&gt; &lt;Button type="submit" variant="contained" color="primary"&gt;comment&lt;/Button&gt; &lt;/div&gt; &lt;/form&gt;</pre><p> 請幫忙。</p><p> 非常感謝。</p></div> 如何在 html textarea 中使用 enter press 提交表單 當表單提交被禁用時,如何在文本區域上按Enter下行 JSF:如何在按下回車鍵時提交表單? 僅在按下“輸入”鍵時提交表單 如何使用ENTER鍵提交表單
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM