我在www.example.com页面上定义的textarea有一个问题asp.net。textarea在后端填充有直接从mssql数据库读取的文本。
<div id="emailForm" runat="server" style="display:inline;">
<textarea name="Body" id="Body" rows="20" cols="20">
text in here
<textarea>
</div>
以下CSS应用于emailForm div:
padding: 5px;
width: 750px;
font-family: Lucida Sans, Verdana, Arial, Helvetica, sans-serif;
font-size: 0.9em;
margin: 0px 0px 10px 0px;
border: 2px solid #ccc;
以及文本区域本身:
height: 360px;
一些用户报告说,虽然他们可以编辑文本区域内的文本,但他们无法获得返回键。
我已经在网上搜索过了,但是找不到这样的例子。如果有人有什么好主意,我很乐意听听。谢谢。
7条答案
按热度按时间oyxsuwqo1#
要添加到Christoffer的答案中,如果您面临相同的问题,您可以通过替换以下代码来解决它:
用这个
这将允许文本区域具有回车(新行),仍然防止回车键用于其余部分。
2g32fytz2#
有同样的问题,但发现这是因为我有一个.preventDefault()在表单上-最初是为了防止输入提交表单。
13是回车的按键代码
sqougxex3#
在我的例子中,这个问题是由于使用了空白:正常。当我把这个取下来的时候,问题就消失了。
4c8rllxm4#
我从来没有听说过这样的事情,但我的猜测是,这将与
display:inline;
当元素包含类似textarea的内容时,这不应该有效。
我建议把它改为
display:inline-block;
。这可能就足够解决它了。但无论哪种方式,它都绝对是正确的显示类型。dphi5xsq5#
您的代码是正确的,除了文本区域的结束标记:
nkhmeac66#
zed5wv107#
一些答案提到了
preventDefault
方法,但不要将搜索限制在此,因为其他JavaScript也可能是罪魁祸首。例如,您可能有一个表单元素,看起来类似于:
<form onkeydown="return event.keyCode != 13">
这将导致窗体上的 all
TextAreas
忽略Enter键。这就引出了另一个问题:通过在同一个页面或另一个页面上创建另一个准系统
TextArea
来减少问题,看看它是否表现出相同的问题。这样做通常有助于缩小原因范围。