使用DIV作为输入

Ark*_*ure 3 html input

很抱歉,如果这个问题非常基础,但我正在尝试重新编程并且我坚持这个.

我希望将文本输入到<div>HTML中,但我不想要附带的默认聊天框<input>.我只是想让它直接打印到一个位置<div>.

我怎样才能做到这一点?

Jaq*_*har 8

用一个 <div>

使用contenteditable属性使 div 本身成为文本输入(如您在评论中提到的):

<div contenteditable="true" style="outline:0px;">Hodor!</div>
Run Code Online (Sandbox Code Playgroud)

JSFiddle

要获取值,您可以使用 jQuery$("div").text()或 jstextContent

要使用<div>内部 a<form>添加一些 js 将其连接起来。您可以在此处查看示例。

用一个 <textarea>

<textarea>如果隐藏某些属性,也可以使用 a :

<textarea style="resize:none;overflow:auto;
        border:0px;outline:0px;background-color:transparent;">
    Hodor!
</textarea>
Run Code Online (Sandbox Code Playgroud)

JSFiddle

要获取值,您可以使用 jQuery$("textarea").val()或 jsvalue


aka*_*mis 8

如果您不想将其值提交给服务器,则可以使用contenteditable属性,如下所示:

<div contenteditable="true">I'm Editable. Edit me!</div>
Run Code Online (Sandbox Code Playgroud)

因此,用户可以编辑文本,但它不会被发送到服务器,它只是客户端的东西.

但是,如果您需要将值提交给服务器,则必须使用TextArea或Input标记,并通过CSS样式删除边框.说:

<input id="myText" type="text" style="border:none; background: transparent; outline: 0;"/>
Run Code Online (Sandbox Code Playgroud)

  • 输入的问题在于它会覆盖很多样式。您可能需要添加“font:inherit”、“color:inherit”等... (2认同)