使用HTML5,如何在表单提交中使用contenteditable字段?

MFB*_*MFB 33 html5 contenteditable

所以我有一堆段落元素,它们是从db动态填充的.我已经使元素满足.我现在想通过标准表单提交来编辑数据库.有没有办法将可疑元素发回?

rob*_*rob 35

你必须以某种方式使用javascript,它不能像textarea那样用作"标准"表单元素.如果你愿意,你可以在表单中创建一个隐藏的textarea,并在表单的onsubmit函数中将contenteditable的innerHTML复制到textarea的值.或者,您可以使用ajax/xmlHttpRqeuest手动提交更多内容.

function copyContent () {
    document.getElementById("hiddenTextarea").value =  
        document.getElementById("myContentEditable").innerHTML;
    return true;
}


<form action='whatever' onsubmit='return copyContent()'>...
Run Code Online (Sandbox Code Playgroud)

  • 似乎最好使用`innerText`,否则你会把所有不可见的标记放入textarea。 (2认同)
  • 这才是重点。您需要所有这些标记,否则为什么要使用 contentEditable?记住 textarea 是隐藏的,它只是用于在将内容发送到服务器之前保存内容。 (2认同)