m_Orchestrate learning system---二十六、动态给封装好的控件添加属性

一、总结

一句话总结:比如我现在封装好了ueditor控件,我外部调用这个控件,因为要写数据到数据库,所以必须把包含textarea的那个元素的那么设置为数据库对应表的字段,怎么解决?

dom操作就好,用jquery

封装好的ueditor

 <!-- ueditor -->
<script type="text/javascript" src="__TEACHER__/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="__TEACHER__/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript" src="__TEACHER__/ueditor/lang/en/en.js"></script>
<!-- ueditor -->
<!--2、編輯器部分------------------------------------------> <!---------------------模組標題 --------------------->
<div class="pet_comment_list_title" style="padding-bottom: 0;display: none;">文章編輯器</div>
<!---------------------END 模組標題 ---------------------> <!---------------------模組內容 --------------------->
<div class="myEditor">
<form action="">
<textarea name="" id="fry_ueditor_content" ></textarea>
</form>
</div>
<!---------------------END 模組內容 ---------------------> <!-- ueditor -->
<script type="text/javascript">
var $=jQuery;
var width=$('.myEditor').width();
//$('.myEditor').css({'border':'5px ridge #ff00ff'});
//alert(width);
UE.getEditor('fry_ueditor_content',{
initialFrameWidth:width,
initialFrameHeight:300,
});
</script> <script>
//给textarea添加动态添加name属性,便于匹配不同表的数据库字段
function addDynamicNameAttr(nameAttrValue) {
$('#fry_ueditor_content').attr('name',nameAttrValue);
} </script>
<!-- ueditor -->

外部调用并且动态添加字段

<div id="note_student_article_online_part">
<!-- 文章部分-ueditor -->
{include file="common/ueditor" /}
<script>
//动态添加name属性字段
addDynamicNameAttr('n_content');
//alert($('#fry_ueditor_content').attr('name'));
</script>
<!-- 文章部分-ueditor -->
</div>

1、页面中php函数的格式(比如缩进)怎么样的都不对,可能是什么原因?

把页面从html缓存php就行了,就是页面后缀,

因为thinkphp里面支持html做后缀,但是这样html页面的php函数没有形

2、php页面中的ajax中链接地址怎么写?

还是这种url的形式,直接'article/dianzan'会出错

$.post("{:url('article/dianzan')}", { u_id: u_id, a_id: a_id } ,function (data) {

3、continue和break的使用?

continue是的级别是一条一条的记录

break的级别是整个循环

所以break的权限相当于是高于continue的

所以如果是以记录条为单位的操作用continue

如果是以整个循环为单位的用break

{volist name="notes" id="vo_1"}
<?php if($vo_1['n_type']!=1) continue;?>

4、html5页面如何播放音频?

直接audio标签即可

audio元素创建

<audio controls src="http://www.w3school.com.cn/i/song.mp3">
</audio>

controls:显示通用的用户控件,包括开始,停止,跳播,以及音量控制

5、php的if内置标签里面有echo没有?

if标签注意一下,里面没有echo

{if condition="$fry_upload_type eq 'a_content_pic2'"} capture="camera"{/if}

6、thinkphp判断数据库字段为null的方法是什么?

正确方式

$map1['f_jieduan_id']=['exp','is null'];
$map1['f_g_id']=['exp','is null'];

array( '某字段'=>array( 'exp', 'is null' ) )

array('_string' => '某字段 is not null');

下面这样是错的

$map1['f_jieduan_id']=['=',null];
$map1['f_g_id']=['=',null];

7、存储的数据只有一部分,可能的原因是什么(从数据库方面作答)?

存储的时候把多图地址ep_picture的字段格式设置为了varchar,所有只有255位,所以多的图片全部挂掉了,而且有的图片也显示不出来

8、同一段代码在index中执行正常,但是在update中执行出现异常错误的原因(index先执行,后执行update)?

 foreach ($forumContents as &$key1){
$key1['f_content']=htmlspecialchars_decode($key1['f_content']);
}

因为是同一段代码,所以变量互相干扰了,因为smarty模板引擎是把解析好的模板内容扔到了控制器中

9、jquery找后代的两种方法是什么?

a、children找儿子(只有儿子,没有后代)

取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合。

可以通过可选的表达式来过滤所匹配的子元素。注意:parents()将查找所有祖辈元素,而children()只考虑子元素而不考虑所有后代元素。

b、find找后代

搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。

var zan=myThis.find('span.c_like_num').html();

10、点赞的时候存进数据库里面的点赞人的id的字符串为0的原因是什么?

因为数据表的这个字段设置为了int,所以会把所有字符串替换为0。

11、file_put_contents只能创建文件不能创建目录,那么怎么在file_put_contents之前创建目录呢?

 $path="./static/uploads/student/note/wpaint/";
if(!file_exists($path)){
mkdir ($path,0777,true);
}

12、thinkphp的根目录是在哪?

根目录就是public,就算你在控制器中也一样

$path="./static/uploads/student/note/wpaint/";

所以这样在thinkphp里面是对的

13、资源如何显示给用户下载?

其实就用a标签,href里面显示的就是要下载东西的地址,比如txt,pdf啊,等等

<a href="{$article.a_content_art2}">點擊顯示或下載類容</a>

14、js字符串和php字符串最大的区别是什么?

就拿字符串去掉空格来说

js中:str.trim()

php中:trim(str)

 //修改部分默認選擇
var a_content_art1="{:addslashes($article['a_content_art1'])}";
console.log(a_content_art1);
if (a_content_art1.trim().length>0){
$("#note_student_article_online_part").trigger("click");
}

15、在edit或者已经写好事件的情况下,用trigger真是很方便很节约代码?

 var a_content_vid2="{$article.a_content_vid2}";
if (a_content_vid2.trim().length>0){
console.log(a_content_vid2);
$("#note_student_video_local").trigger("click");
}

二、内容在总结中

 

m_Orchestrate learning system---二十六、动态给封装好的控件添加属性的更多相关文章

  1. 二十六. Python基础(26)--类的内置特殊属性和方法

    二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher: ...

  2. (三十六)c#Winform自定义控件-步骤控件-HZHControls

    官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kww ...

  3. (二十六)分类信息的curd-分类信息添加

    分类信息添加: 1.应在在左边的dtree上添加连接(展示所有的分类信息) d.add(...,"/store/adminCategory?method=findAll",&quo ...

  4. repeater中后台动态为控件添加属性

    在此贴出repeater中的ItemDataBound事件中的代码: private void ItemDataBound(object sender, RepeaterItemEventArgs e ...

  5. WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇]

    原文:WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[实现篇] 元数据的导出就是实现从ServiceEndpoint对象向MetadataSet对象转换的过程,在WCF元数据框 ...

  6. VMware vSphere 服务器虚拟化之二十六 桌面虚拟化之View Persona Management

    VMware vSphere 服务器虚拟化之二十六 桌面虚拟化之View Persona Management 实验失败告终,启动VMware View Persona Management服务报10 ...

  7. 模板方法模式 Template method 行为型 设计模式(二十六)

    模板方法模式 Template method 上图为网上百度的一份简历模板截图   相信大家都有求职的经历,那么必然需要简历,写简历的时候,很可能你会网上检索一份简历模板,使用此模板的格式,然后替换为 ...

  8. 二十六、Jcreator使用初步

    摘自http://blog.csdn.net/liujun13579/article/details/7751464 二十六.Jcreator使用初步 Jcreator是一个小巧灵活的Java开发工具 ...

  9. WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇]

    原文:WCF技术剖析之二十六:如何导出WCF服务的元数据(Metadata)[扩展篇] 通过<实现篇>对WSDL元素和终结点三要素的之间的匹配关系的介绍,我们知道了WSDL的Binding ...

随机推荐

  1. openfiler作为文件server,实现ISCSI共享存储

    还是不能发图.这是第二篇.图文在这个地址:http://download.csdn.net/detail/weimingyu945/8089893 1      登陆 首先登陆openfiler的we ...

  2. 反射 + 配置文件 实现IOC容器

    IOC实现: IOC容器我们只停留在知道上是不行的,我们要动手做印象对更深刻,那么我给大家看一个代码.看看代码中IOC容器的实现. 代码实现: 创建一个类库: 解决方式的类库建立: 创建一个实体类:U ...

  3. m_Orchestrate learning system---十三、thinkphp的验证器支持多语言么

    m_Orchestrate learning system---十三.thinkphp的验证器支持多语言么 一.总结 一句话总结:支持,不仅验证器支持,其它的插件应该都支持 不仅thinkphp支持多 ...

  4. hdoj--1950--Bridging signals(二分查找+LIS)

    Bridging signals Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. hdoj--4325--Flowers(线段树+二分)

    Flowers Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Su ...

  6. mysql导入数据,涉及到时间转换,乱码问题解决

    表结构: drop table if exists `qi_an_log`;CREATE TABLE `qian_log` (`dt` LONG NOT NULL COMMENT '产生日期,格式yy ...

  7. 配置 NTP 时间服务器

    对于我们当前这种案例,主要目标是把 z01 这台服务器设置为时间服务器,剩下的 z02,z03 这两台机器同步 z01 的时间,我们需要这样做的原因是因为,整个集群架构中的时间,要保持一致. ** 检 ...

  8. 005.ES2016新特性--装饰器

    装饰器在设计阶段可以对类和属性进行注释和修改,在Angular2中装饰器非常常用,可以用来定义组件.指令以及管道,并且可以与框架提供的依赖注入机制配合使用. 从本质上上讲,装饰器的最大作用是修改预定义 ...

  9. Git 环境安装

    本文环境: 操作系统:Windows XP SP3 Git客户端:TortoiseGit-1.8.14.0-32bit 一.安装Git客户端 全部安装均采用默认! 1. 安装支撑软件 msysgit: ...

  10. Linux部署之批量自动安装系统之测试篇

    1.         客户端从网络启动如下   2.         复制vesamenu.c32文件可解决上面的问题   3.         客户端再次启动   4.         选择第一个进 ...