Javascript 创建带有包装文本的可提交聊天条目,然后“输入”提交

Javascript 创建带有包装文本的可提交聊天条目,然后“输入”提交,javascript,html,Javascript,Html,我试图找出如何创建一个可提交的聊天条目。我想要的是一个可以换行的文本框。据我目前所见,这是通过textarea完成的。但是,文本区域不允许我仅按enter键进行提交。它需要一个发送按钮。我怎样才能两全其美呢?包装输入文本,但也可以通过按enter键提交 这是工作正常的代码,但在插入文本时不允许换行: <form action=""> <input id="m" autocomplete="off"><button>Send</button&

我试图找出如何创建一个可提交的聊天条目。我想要的是一个可以换行的文本框。据我目前所见,这是通过textarea完成的。但是,文本区域不允许我仅按enter键进行提交。它需要一个发送按钮。我怎样才能两全其美呢?包装输入文本,但也可以通过按enter键提交

这是工作正常的代码,但在插入文本时不允许换行:

<form action="">
       <input id="m" autocomplete="off"><button>Send</button>
</form>
这是我的新代码,它将包装文本。它将提交,但只有当我按下发送按钮。我想在按下enter键时提交:

<form action="" style="height: 8%">
     <textarea name="m" style="height:100%; width: 80%"></textarea> 
     <button>Send</button>
</form>

我相信当我只按enter键时,输入id部分允许我提交,但textarea不允许我提交。

您可以在textarea上捕获keyup事件,然后提交表单:

<form action="" id="yourForm">
    <textarea name="m" onkeyup="submit"></textarea>
</form>

此代码将在按enter like input后提交textarea内容。我将ID添加到表单和文本区域:

var textArea=document.getElementByIdchatBox;//将textarea设置为变量 textArea.addEventListenerkeyup,functionevent{//在textArea上侦听按键 如果event.keyCode===13{//13是键盘上的回车键 document.getElementByIdchatForm.submit;//提交表单 } }; 邮寄
这似乎是一个可行的解决方案。不过,我需要onkeyup特别是enter按钮。有没有一种方法可以指定?然后您如何期望textarea获得新行?它在需要新行时会动态地获得新行。我不需要通过按enter键获取新行的功能。这是一个很好的问题,我宁愿使用enter来提交。@user280339请检查我的答案。坦率地说,除非您在编辑过程中允许新行,否则使用带有编辑的文本区域对我来说没有什么意义。在这种情况下,我建议使用文本框。我认为这个答案是有效的,只是现在尝试让它与我的其余代码一起工作。它回答了您的问题。。。祝你好运对,只是需要用我的代码做一些事情。让它工作起来了,谢谢!
function submit() {
    document.getElementById('yourForm').submit();
}