在这里,我有一个<div contenteditable="true">
,在点击进行编辑时,其行为与<textarea>
相同。用户可以在其中键入和编辑文本。
<label for="text_box" class="label">
Body:
</label>
<div class="text_box" name="text_box" id="text_box" contenteditable="true">
<br />
</div>
我还有一个servlet。如何在servlet中获取<div>
的值?
答案 0 :(得分:1)
您需要创建一个带有隐藏<textarea>
的表单和一段JavaScript,它将div的内部HTML内容复制到提交表单时的textarea值。
这是一个启动示例:
<form action="servletURL" method="post" onsubmit="this.content.value=document.getElementById('text_box').innerHTML;">
<div id="text_box" contenteditable="true"><br /></div>
<textarea name="content" style="display:none;" />
<input type="submit" />
</form>
(注意:使用onsubmit
和style
属性是一种不好的做法;分别使用jQuery绑定事件处理程序和CSS文件的方式)
通过这种方式,它可以通常的方式使用servlet,就好像<textarea>
没有被隐藏一样:
String content = request.getParameter("content");