Blog项目切换Markdown编辑器———LayUI弹出层弹出写在页面的内容导致的各种bug

【2024.5.24回顾】

1 问题描述(描述完自己解决了…)

正常情况

点击添加文章按钮后,弹出文章编辑界面,如果用富文本功能编辑,则一切正常。可以多次打开、关闭

Markdown

如果在弹出层中点击了切换编辑器按钮,会成功切换为markdown文本编辑器,可以编辑相应的文章并提交。

但是,如果继续在这个页面操作就会出现:

第二次打开还是Markdown编辑器而且只清空了标题,内容还是上次提交的内容。并且这次打开之后,再点击提交文章,文章能够成功提交但是弹层不会自动关闭,点击×也不行,就卡在这了。

第一次点击切换编辑器:

在这里插入图片描述

第一次提交成功后,再次点击添加文章:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

原因应该是因为空指针异常,页面卡在那里了。简单修改后可以关闭了。

2 $('#addForm').html()与$('#addForm')

在这里插入图片描述
在这里插入图片描述

$('#addForm').html()返回的是字符串类型,表示 #addForm 元素的内部 HTML 内容。

$('#addForm') 返回的是 jQuery 对象,表示 #addForm 元素本身。相当于一个重定向,所以在弹出层里对它进行的修改和填写,会保留下来,再次添加只不过是将它的位置改变到了弹出层里边而已。之所以会清空标题是因为弹出成功的函数里有一句$('#addForm form')[0].reset();

$('#addForm').html():

case 'add':
var index = layer.open({type: 1,//1 html文本,dom/js对象  2 放链接,链接到其他jsp/网页链接title: '添加文章',area: ['90%', '90%'],//宽高// content: '<div style="padding: 11px;">任意 HTML 内容</div>'content: $('#addForm').html(),//.html返回内部所有html 字符串形式 子节点 把它放在这 放一段页面//content: $('#addForm'),//       把它放在这 放一段页面success: function () {//success指弹出成功  感觉这里边的东西都可以直接写在外面啊-->不一样 有区别//查询博客类型并回显到选择下拉框$.post(//ajax3'/type?method=selectBlogType',function (result) {console.log(result);$('#addBlogTypeId option:gt(0)').remove();//清除原来的数据$(result.data).each(function () {//result是一个封装对象包括code、msg、data需要.data才能访问到查询结果$('#addBlogTypeId').append('<option value="' + this.id + '">' + this.name + '</option>')});form.render('select');},'json');}
})

由于某些暂未分析出来的原因,这一系列操作(切换编辑器等)都在原页面的基础上生效,而页面弹出的只是一个复制品,所以不会有任何反馈,点击按钮也没反应,函数里边的打印到控制台都没有。

$('#addForm'):

case 'add':
var index = layer.open({type: 1,//1 html文本,dom/js对象  2 放链接,链接到其他jsp/网页链接title: '添加文章',area: ['90%', '90%'],//宽高// content: '<div style="padding: 11px;">任意 HTML 内容</div>'//content: $('#addForm').html(),//.html返回内部所有html 字符串形式 子节点 把它放在这 放一段页面content: $('#addForm'),//       把它放在这 放一段页面success: function () {//success指弹出成功  感觉这里边的东西都可以直接写在外面啊-->不一样 有区别//查询博客类型并回显到选择下拉框$.post(//ajax3'/type?method=selectBlogType',function (result) {console.log(result);$('#addBlogTypeId option:gt(0)').remove();//清除原来的数据$(result.data).each(function () {//result是一个封装对象包括code、msg、data需要.data才能访问到查询结果$('#addBlogTypeId').append('<option value="' + this.id + '">' + this.name + '</option>')});form.render('select');},'json');}
})

这样相当于是将页面上的元素重定向至layer层进行操作,所以自始至终都是在改变一个表单。解决bug后基本可以实现与单独写一个jsp页面一样的效果,但是无法恢复为富文本编辑器而是停留在markdown编辑器,而且不能够完全清除上一篇博客的内容,还需要修改。

而且这样弄的话编辑博客内容的回显功能更难做。

单独写一个添加jsp就没这么多事!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/22470.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用chatgpt api快速分析pdf

需求背景 搞材料的兄弟经常要分析pdf&#xff0c;然后看到国外有产品是专门调用chatpdf来分析pdf的&#xff0c;所以就来问我能不能帮他也做一个出来。正好我有chatgpt的api&#xff0c;所以就研究了一下这玩意怎么弄。 需求分析 由于chatgpt是按字符算钱的&#xff0c;所以…

JDBC学习笔记(三)高级篇

一、JDBC 优化及工具类封装 1.1 现有问题 1.2 JDBC 工具类封装 V1.0 resources/db.properties配置文件&#xff1a; 工具类代码&#xff1a; 1.3 ThreadLocal 1.4 JDBC 工具类封装 V2.0 二、DAO封装及BaseDAO 工具类 2.1 DAO 概念 2.2 BaseDAO 概念 2.3 BaseDAO 搭建 2.4 Ba…

每天一个数据分析题(三百四十八)

理解业务分析模型能够更好的把握业务全局&#xff0c;以下属于分析模型中分类模型的是 A. RFM模型 B. 销售漏斗模型 C. 波士顿矩阵 D. 客户价值模型 数据分析认证考试介绍&#xff1a;点击进入 题目来源于CDA模拟题库 点击此处获取答案

Go 实现的命令行程序,可以通过参数来控制和消耗 CPU 占比。通常用于测试系统负载和性能。

说明 Go 实现的命令行程序&#xff0c;可以通过参数来控制和消耗 CPU 占比。通常用于测试系统负载和性能。 代码在下面 编译和运行 在终端中编译代码&#xff1a; go build 运行程序并传入 CPU 使用率参数&#xff0c;例如&#xff1a; ./tools_cpu_burner -p50代码解释 fla…

WPF前端:一个纯Xaml的水平导航栏

效果图&#xff1a; 代码&#xff1a; 1、样式代码&#xff0c;可以写在窗体资源处或者样式资源文件中 <Style x:Key"MenuRadioButtonStyle" TargetType"{x:Type RadioButton}"><Setter Property"FontSize" Value"16" />…

Always语句和assign的用法

Always语句 简介 always语句块从仿真0时刻开始执行其中的行为语句&#xff1b;最后一条执行完成后&#xff0c;再开始执行其中的第一条语句&#xff0c;如此往复循环&#xff0c;直到整个仿真结束。因此&#xff0c;always语句块常用于对数字电路中一组反复执行的活动进行建模…

【TensorFlow深度学习】RNN短时记忆缺陷与LSTM改进原理

RNN短时记忆缺陷与LSTM改进原理 RNN的局限与LSTM&#xff1a;短时记忆缺陷及其优化原理的深度解析RNN的STM问题剖析LSTM原理与改进LSTM代码实例结语 RNN的局限与LSTM&#xff1a;短时记忆缺陷及其优化原理的深度解析 在深度学习的征程中&#xff0c;循环神经网络&#xff08;R…

开源规则引擎LiteFlow项目应用实践

本文介绍基于开源规则引擎LiteFlow&#xff0c;如何开发规则设计器&#xff0c;在低代码平台中集成规则引擎&#xff0c;并在项目中实现应用的效果。由于低代码平台使用规则引擎实现了逻辑编排的需求&#xff0c;所以本文中的叫法为“逻辑设计”、“逻辑编排”、“逻辑流引擎”…

.NET IoC 容器(三)Autofac

目录 .NET IoC 容器&#xff08;三&#xff09;AutofacAutofacNuget 安装实现DI定义接口定义实现类依赖注入 注入方式构造函数注入 | 属性注入 | 方法注入注入实现 接口注册重复注册指定参数注册 生命周期默认生命周期单例生命周期每个周期范围一个生命周期 依赖配置Nuget配置文…

0基础学习区块链技术——推演猜想

在《0基础学习区块链技术——入门》一文中&#xff0c;我们结合可视化工具&#xff0c;直观地感受了下区块的结构&#xff0c;以及链式的前后关系。 本文我们将抛弃之前的知识&#xff0c;从0开始思考和推演&#xff0c;区块链技术可能是如何构思出来的。 去中心 在一般的思维…

回溯算法之组合总和2

题目&#xff1a; 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意&#xff1a;解集不能包含重复的组合。 示例 1: 输入: candi…

浅谈配置元件之随机变量

浅谈配置元件之随机变量 1.概述 为了增强测试的真实性和多样性&#xff0c;JMeter 提供了多种配置元件来生成动态数据&#xff0c;其中“随机变量”(Random Variable) 就是一种常用的配置元件&#xff0c;用于生成随机数值、字符串等&#xff0c;以模拟不同用户请求中的变化参…

认识meta

目录 认识meta camera_metadata的存储结构 camera_metadata的基本操作 申请camera_metadata 增加entry 查找entry 更新entry 删除entry 对tag的查找操作 vendor_tag_ops和vendor_cache_ops是Andriod提供的接口 propertyID Camxhal3metadatautil.cpp文件理解 Initia…

Redisson 分布式锁 - RLock、RReadWriteLock、RSemaphore、RCountDownLatch(配置、使用、原理)

目录 前言 Redisson 分布式锁 环境配置 1&#xff09;版本说明 2&#xff09;依赖如下 3&#xff09;配置文件如下 4&#xff09;项目配置 RLock 1&#xff09;使用方式 2&#xff09;加锁解释 3&#xff09;加锁时手动设置时间 4&#xff09;加锁时&#xff0c;到…

DALL-E 2详细介绍

DALL-E 2是由美国人工智能研究公司OpenAI推出的一款文本生成图像系统&#xff0c;它是DALL-E的后续版本&#xff0c;具有更强大的功能和更高的图像质量。以下是关于DALL-E 2的详细解释&#xff1a; 一、主要功能特点 文本到图像生成&#xff1a;DALL-E 2能够根据用户提供的文…

揭秘FL Studio21.2.8中文版一键解锁音乐创作新境界!

在音乐制作的广阔天地里&#xff0c;随着技术的不断进步和数字音频工作站&#xff08;DAW&#xff09;软件的普及&#xff0c;越来越多的音乐爱好者和专业制作人开始涉足音乐创作的奇妙旅程。其中&#xff0c;FL Studio以其强大的功能、直观的操作界面和丰富的音色资源&#xf…

vue+Django接入钉钉登录

前端处理 dingtalkLogin() {let url https://login.dingtalk.com/oauth2/auth?redirect_uri${this.dingRedirectUrl}&response_typecode&client_id${this.appKey}&scopeopenid&stateSTATE&promptconsentwindow.location.href url;},后端处理 def dingt…

Nginx:怎么携带参数重定向

在NGINX中&#xff0c;可以使用location指令和rewrite指令来携带参数进行重定向。 首先&#xff0c;可以使用location指令根据请求的URL匹配到一个特定的位置块。然后&#xff0c;在位置块中使用rewrite指令将请求重定向到另一个URL&#xff0c;并携带参数。 下面是一个示例配…

LED驱动IC:HC2106,1W升压型DC/DC白光LED驱动器HC2106系列,供应给大功率白光LED灯提供能源、恒流源

LED驱动IC&#xff1a; HC2106&#xff1a;1W升压型DC/DC白光LED驱动器HC2106系列 概述&#xff1a;HC2106系列芯片是针对LED应用设计的PFM 控制模式的开关型DC/DC 升压恒流芯片&#xff0c;通过外接电阻可使输出电流值恒定在0mA&#xff5e;500mA。 HC2106可以给一个、多个…

基于语音识别的智能电子病历(其他)签名的处理

签名业务流程的说明 概述 签名是医生对完成的报告的确认操作&#xff0c;是医生对报告完成状况的认可。 一般情况下一份报告对应一个录音&#xff0c;而一个录音对应一个病人的一次诊疗过程&#xff0c;因此只有那些参与了录音或诊疗过程的医生&#xff0c;才能具有对报告的签…