Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 内容可编辑与输入替换_Php_Javascript_Html_Input - Fatal编程技术网

Php 内容可编辑与输入替换

Php 内容可编辑与输入替换,php,javascript,html,input,Php,Javascript,Html,Input,我正在开发一个应用程序,它将列出您以前保存的数据。如果您有输入错误,最初没有输入所有数据点,等等。您将有机会编辑数据块 现在,我让javascript获取给定块中每个元素的值(通过php中的foreach循环创建,并从服务器获取数据),将其保存到一个对象中,然后用textarea输入替换这些元素(),然后用以前捕获它的js对象的数据填充它 首先,我对从动态内容中转义引号有一些问题,但我觉得这可能不是最优雅的解决方案 进来了 基本上:我应该走这条路线,只需单击“编辑”按钮,即可使数据块中的每个元素

我正在开发一个应用程序,它将列出您以前保存的数据。如果您有输入错误,最初没有输入所有数据点,等等。您将有机会编辑数据块

现在,我让javascript获取给定块中每个元素的值(通过php中的foreach循环创建,并从服务器获取数据),将其保存到一个对象中,然后用textarea输入替换这些元素(
),然后用以前捕获它的js对象的数据填充它

首先,我对从动态内容中转义引号有一些问题,但我觉得这可能不是最优雅的解决方案

进来了

基本上:我应该走这条路线,只需单击“编辑”按钮,即可使数据块中的每个元素contenteditable='true',还是浏览器支持太可疑了

我目前的课程是一个可靠的计划吗

还是有第三种(第四种、第五种等)选择


谢谢

如果您使用过JSfiddle,您就知道contentsable的工作原理。他们就是这么用的。如果需要,可以使用jQuery插件来突出显示语法(Snippet,jQuery syntaxhighlighter)

除非您特别需要用户编辑HTML内容(或执行复杂的语法hilighting等),否则请使用input/textarea解决方案。更干净、更轻、更容易操作。Contenteditable很快就会变得复杂,使用tinyMCE或类似的东西可能会有点过头。

我不担心像突出显示之类的花哨东西。只是简单地更改数据。我想我需要研究contenteditable与更愚蠢的浏览器的兼容性:pi不需要任何像tinyMCE那样强大的东西。基本上,当用户点击“编辑”按钮时,他们需要能够简单地编辑文本;没有html,没有样式,等等-在这一点上contenteditable可能不会变得太复杂。我目前的解决方案让人觉得很复杂,而且看起来也不轻量级。输入元素还有3个优点。它在移动浏览器中受支持,在视觉上更容易识别为可编辑元素,您不必手动处理用户粘贴/拖放的内容来剥离HTML,输入元素会自动剥离HTML,但contenteditable不会。最后一个是针对UX的,因为如果用户从某处将h1标题复制到其中,您可能会得到一个不可用的contenteditable div/p。contenteditable的问题是它在新行插入html标记。不同的浏览器插入不同的标记(例如,“”、“
”、“”)。请参阅详细信息