我有一些有关HTML5可满足和PHP的问题,如果您能为我提供我想做的示例,我会很高兴. 我有一个我想编辑的网站,但只有登录"管理员" - 我可以执行登录方面的范围,但是我不确定如何对其编码HTML5可满足的编码,以便它可以做到这一点未登录" admin"时不加载. 我将如何保存在html5可满足的内容中更改的内容? 解决方案 我将如何保存在HTML5可满足的内容中更改的内容? 假设您的Div是contentEditable,例如:
here goes your contenteditable content 完成编辑后(例如,在单击"保存按钮"时)必须执行这样的操作(使用jQuery): $.post('save.php', { content : $('#content').h
以下是关于 contenteditable 的编程技术问答
以下代码允许任何网站临时完全编辑: document.body.contentEditable = "true"; 如果我想使用此方法将设置保存到特定网站,我该如何使用JavaScript并在需要时实现此设置,以便下次我访问此URL时,该网站会自动使用所做的设置自动更新.这甚至可能吗?是否有扩展名? 解决方案 这是您可以使用香草JS进行此操作的一种方法. 这是 jsfiddle 因为Stackoverflow不允许在网站上执行localStorage安全功能. 它的工作原理: 使用window.onload = function() {...},检查'content'键是否 存在于localStorage 中 如果这样做,请将数据加载到
中 按下Edit按钮,contentEditable被切换 在这里您可以使用任何方法保存数据.我使用content.contentEditable === 'false'
我希望能够更改某些页面的文字.使用可满足对我来说是完美的. 问题是我只知道如何在PHP中编程.我已经在互联网上搜索了几个小时以使其正常工作,但是我只是不了解用于存储数据以使其正常工作的编程语言. 这就是我希望它能工作的方式: 管理员点击一个按钮'编辑' div变得可编辑. 当管理员准备好编辑时,他点击了一个按钮"保存" 将数据保存到文件或数据库中(真的不知道最好的选择是什么). 打开页面时,已编辑的内容显示出来. 这就是我现在所拥有的:
PAGE CONTENT 我知道如何在管理员命中"编辑"时将DIV转换为可满足的Div. 我的问题是我真的不知道如何保存编辑的数据. 我也不知道是否很难从文件中检索数据,依靠数据的保存方式.如果将其保存到数据库中,我将没有问题来检索它,但是我不知道这是否可能,这是否是最好的选择. 感谢您的帮
wysihat 这是可能的吗? 将来来,到达我家门口. HTML5大师,火! 解决方案 您无法访问将插入的内容. 您可以做的是添加一个事件侦听器,该侦听器在Ctrl+V上运行一些清理代码(有超时,因此可以看到粘贴的文本) 其他解决方案 Onpaste 事件效果很好,至少您可以拒绝用户插入行为 someElement.onpaste = function() { // doSomething() return false; // to prevent user insert } 其他解决方案 textInput事件在粘贴文本之前触发,并且与ctrl+v和其他粘贴文本的方法兼容(例如上下文菜单等),它还具有称为.data的属性,该属性应/可能会保留粘贴的内容,但我还没有在支持TextInput事件的浏览器中看到填充物. 但是,输入事件会触发/之后/糊状(当DOM已经更改时),所以我猜这两个耦合可能会在过渡期间起作用. 或..您只
我使用的是可满足的div而不是输入元素,因为在输入框中的样式方面,它们更灵活.我只是想知道是否有一种方法使输入看起来像输入元素,其类型设置为密码,例如: 我希望这足够清楚.谢谢. 解决方案 您将必须找出Mozilla and Co的浏览器特定CSS设置.但是在Webkit中,它看起来像这样.另外,您需要通过JavaScript添加按键处理程序. #password { -webkit-text-security: disc; height:20px; width:100px; -webkit-appearance: textfield; padding: 1px; background-color: white; border: 2px inset; -webkit-user-select: text; cursor: auto; }
我正在使用此功能,以便使用Safari和Chrome在可满足的DIV上替换
: $("#form_description").live("keypress", function(e){ if (e.which == 13) { if (window.getSelection) { var selection = window.getSelection(), range = selection.getRangeAt(0), br = document.createElement("br"); range.deleteContents(); range.insertNode(br); range.setStartAfter(br); range.setEndAfter(br); range.collapse(false); selection.removeAllRanges(); selection.addRang
当可满足的元素为空时,如何使可满足的光标出现在焦点上?请参阅下面的代码和 jsfiddle to demo. html
type here:
JS: var contenteditable_el = document.getElementById('contentEditable-name'); contenteditable_el.contentEditable='true'; 解决方案 您的JavaScript很好,您的问题是折叠到0宽度和0高度,因为其中没有任何东西.因此,它不能单击,只有在选项卡上时才会接收到焦点. var contenteditable_el = document.getElementById('contentEditable-name'); contenteditable_el.contentEditabl
我正在使用流行的 rangy Library 内部可满足的div.我的代码很简单: var saved_selection = false; $('#contenteditable').bind('keypress mouseup', function(e){ $(this).find('.rangySelectionBoundary').remove(); saved_selection = rangy.saveSelection(); }); 现在,这在Chrome和FF中都很好.但是,在歌剧中的行为非常奇怪,因为它不允许在可满足的内容中插入任何字符,而是失去了焦点,或者至少看起来如此. 我已经准备了用于测试的JSFIDDLE.在Opera中,不可能在可编辑的Div中输入任何字符: http://jsfiddle.net/twst6/1/ 任何人都可以解释和解决我的问题如何使该代码在Opera中起作用? 事先感谢您的任何帮助. 解决方案
任何人都在选择可满足的选择的不透明度. 我尝试了以下内容: document.execCommand('foreColor', false, 'rgba(0,0,0,0.5)'); // with rgba document.execCommand('foreColor', false, '80000000'); // with alpha hex 无效.但是我可以轻松地改变颜色: document.execCommand('foreColor', false, '000000'); 任何人都可以通过document.execcommand帮助我更改不透明度? 更新 在进一步搜索时发现: document.execcommand'forecolor'添加字体标签,以给定颜色选择.但是可悲的是,html5中不支持颜色属性. 那是问题吗?它的选择是什么? 解决方案 您将必须使用styleWithCSS命令,该命令指定CSS或HTML格
http://jsfiddle.net/vzbyj/86/ 请查看此链接.因为它清楚它将 在Caret的位置插入一个跨度节点.问题是,插入后 节点如果我按任何字符,其颜色也为绿色. 因为它也进入跨度元素.那我该如何把销售 跨度之后,以使下一个插入节点的颜色保持正常. 我试图找到所选的节点(基于Caret位置),在元素之后设置范围并使用折叠(false).但是我无法获得所需的输出. 查找节点的代码: function findNode(event) { if (event.type == 'click') par = event.target; else if (event.type == 'keyup'){ if (document.selection) par = document.selection.createRange().parentElement(); else
我有一个div,属性可满足集. 这使我可以拥有一个自由形式的可编辑文本area,而无需任何形式输入字段:但是,当我创建几行新的行并单击"保存"按钮时,我将使用.text()方法抓住内容,该方法继续删除我刚输入的线供稿.如果可能的话,我需要维护newline字符,并将内容存储在数据库中. 我可以通过使用.html()而不是.text()直接将HTML存储到数据库中,但是我不喜欢这个想法,因为将来可能需要将此数据提取为纯文本.此外,按Enter在Firefox中使用
,Chrome和Safari与
...打破新线条,而Internet Explorer和Opera则使用段落
...
用于新线条,因此听起来并不容易很容易解析html. 如何保留这些行馈电并将内容存储为纯文本在数据库中(类似于文本方面的方式)? 最好的问候, ns 解决方案 jQuery在Node上使用textContent返回元素的文本值,这将压缩空白.如果要
我有一些JavaScript,可以根据用户选择的内容来操纵HTML.对于实际浏览器,我正在使用杠杆的"范围"对象,以此为此: var sel = window.getSelection(); var range = sel.getRangeAt(0); var content = range.toString(); 内容变量包含所有选定的文本,可以正常工作.但是,我发现我无法检测到结果字符串中的新线.例如: 选定的文本是: ABC def ghi range.tostring()评估为" abcdefghi". 对特殊字符的任何搜索都不会返回\ n \ f \ r甚至\ s的实例.但是,如果我将变量写入一个可编辑的控件,则该线馈送再次存在. 有人知道我缺少什么吗? 这些选择和操作是在可编辑的divs上.在Chrome,Firefox和Opera中,同样的行为也很明显.出乎意料的是,IE无论如何都需要完全不同
我希望将文本粘贴到一个可满足的div中,但反应为文本. 请注意,我想将格式保持在文本方面(来自Word,Excel ...). 所以. 1)在可满足的div中粘贴文本 2)我从剪贴板 获得文字 3)我将价值从剪贴板推到我的文本方面,(不知道如何?) 4)从我的文本中获取价值,并将其放在我满意的Div 中 有什么建议吗? 解决方案 我是Ckeditor的核心开发人员,在过去的四个月中,我一直在研究剪贴板支持和相关内容:)不幸的是,我无法以整个方式描述您的处理方式,因为即使我自己写作,我的故事对我来说太棘手了:d 但是,这里有一些可能对您有所帮助的提示: 不要编写Wysiwyg编辑器 - 使用存在的编辑器.它将消耗您的所有时间,您的编辑仍然会遇到麻烦.我们和其他来自其他的人...两个主要编辑(猜猜为什么只有三个)多年来一直在研究这个问题,我们仍然有完整的错误列表;). 如果您真的需要写自己的编辑器,请访问 httpp ://dev.ckeditor.
所以我有一个JSFIDDLE,描述了一个可满足的Div,带有粘性页脚区域,代表: CSS .textarea { background: white; padding: 20px; min-height: 20px; width: 100%; } .footer { height: 20px; position: sticky; bottom: 0; background: blue; } html
如果输入直到到达屏幕底部,您会注意到粘性页脚遮盖了底部内容.我尝试了各种典型的技术,例如在各个地方添加底部/顶部边缘和桨叶以防止内容覆盖. 是否有纯粹的CSS方法可以实现此效果而不重叠内容? 解决方案 通过这样更新您的CSS,可以解决您的问题吗? 堆栈摘要 h
我有一个可满足的div:
我希望在我按Enter时形成新段落,为此,我拦截了Enter键并通过插入HTML代码替换默认操作: $(".content").on("keydown",function(e){if(e.which == 13) { e.preventDefault(); pasteHtmlAtCaret("
");}}); 我的希望是,当我按Enter时,
将关闭现有段落并打开新段落.因此,如果我输入:" Hello World" + Enter,我应该有:
hello world
您可以在哪里识别
件. 我观察到不同的行为.我得到:
hello world
我希望这并不比看起来更难. 我想创建一个带有几个文本框的HTML表单,这些框将允许人们输入一些数据,我希望将这些更改保存到表单中. 例如,如果我的HTML页面说: 名称:[] ...我希望某人能够单击[]并输入其名称等.然后单击"保存" 然后以表格说: 名称:"人的名字" 如果有人想更新它,他们可以单击该人的姓名并更改它,然后单击"保存"并使HTML表单自身更新. 我该怎么做?我到处都是,人们在谈论HTML5和PHP.制作这样的简单页面真的很复杂吗? (如果我在html中不清楚的话,我正在使用contenteditable="true"选项.如何保存这些更改?) 解决方案 我认为您的问题表明您还不知道网页(包括表格)是"无状态"的,这意味着它们不会自动"自动"或存储与它们所做的任何事情.很抱歉令人失望,但是作为初学者,您将很难找到解决这个问题的"简单"解决方案. 这并不是说这是不能做的 - 毫无疑问,您到处都看到它 - 但是您
我有一个小问题/问题.我从事一些Wysiwyg编辑.我将DIV与选项contineDible =" true"一起使用,我想知道何时有一个按钮,我的div中的元素正在由用户修改. 例如,如果DIV上有3个段落,并且该用户修改了第二段,我想知道他何时单击按钮,他目前要修改第二段以显示文本内容!在此示例中," p2":
P1
P2
P3
事先感谢您的帮助. 尼古拉斯 解决方案 您可以检查按钮的mousedown事件中的选择.以下将在所有主要浏览器中使用: function getSelectionBoundaryContainerElement(start) { var container = null; if (typeof window.getSelection != "undefined") { var sel =