00:00
然后呢,潜在的代码就是说两,从流程上来看就两件事,第一个发请求,第二个处理响应,发请求的有参数,收集参数需要做表达验证,做表单验证,处理响应是在回调函数处理的。所以我们首先来看什么时候发群求,那什么时候发群图,根据我们的设计说,用户打开模态窗口之后填写表单,填完之后一点更新按钮就发群里了,所以下边我们要做的事就是给这个更新按钮加个单击时间去了。所以我们来给它加单新时间,那加单新时间我们来找到这个页面,这一个市场活动主页面,它上面有个更新按钮,那来找到动更新按钮去更新按钮,它应该在修改市场的摩擦窗口里边,当然这个摩擦口这是创建的摩擦窗口,我们找修改的摩擦窗口,这个是修改的摩擦窗口,然后它下边应该有一个更新按钮,哪一个大概就这一个这个更新按钮。给他加单击实间就行了,大家我们再一分析,你看这个按钮上面有个dismiss属性,我们以前给大家讲过,加上这个属性的这个按钮,这些标签你一点,它会自动把这个标签所在的模大窗口给关闭,那我们这个地方根据需求,我们说保存成功了再关闭,保存失败了我还不关了,所以这个dismis属性的话,如果带上,不管成功还是失败,它都给你关了。
01:22
所以我们是不是得把它去掉啊,把它去掉,把它去掉啊,我一点它,我们说我一点它成功了,我手动关失败了,我还不关了,所以我们给他加待机时间去了,然后呢,这个地方加个待机时间,然后呢,这个地方来了。那加单心实验给他一个ID,那这个ID来一个叫C5I,让他艾这样呢,报上这样就行了,然后呢,他看我们说给他加单心实验去了,那加过来呗,这个地方。加入了一个单击时间这个地方来,然后呢,这个地方来给更新按钮添加单击时间,更新按钮添加单击时间。
02:05
那加单击事件,我们的语法单这个地方语法在哪,是用on还是用传统的那种方式。对传统的是不是我一定能保证在我入口函数执行的时候,这个元素都已经存在了,对存在了,所以这个地方用传统的这个方式,直接说传统的这种方式选中它拿到解块的图像下边掉吃甲生素。那单击事件可了,可然后呢,在这个什视角函数传送参数,这个参数本身就是一个函数,本身就是函数。他就表示当这个按钮上面发生了这种事件的时候,会自动触发这个函数。然后我们这个地方,那把我们代码写到这边去了,写在这里边干什么?两件事,发请求处理响应,那发请这有参数,首先收集全部说这些参数散落在这个页面的各个角落,你要发到后台,你要把这些参数收集到。
03:03
那收集,那就那我就收集吧,那收集什么?就是收集修改市场活动这个什么表单里边的这些输入组件的值知道吗?那一个一个数据吧,首先大看我们说那个隐藏域里边有个ID,隐藏域里边有ID,把那个ID拿到。然后拿呗,那我们来看看这个ID啊在哪了,那收集它的值,那我们说来找到这个修改市场活动模态窗口啊,这个修改修改市场活动模态窗口里边有个表单,表单里边这个行吗?它这边保存的这个市场活动ID,把它拿到就行了,把它的值拿到就行了,那把它的值这个地方来继续拿到了分,拿到它的值,那首先拿到几块就行。拿到它的值怎么弄,是不是VL啊VL这个时候大概你就别给他传参数了,对传参数表示给它赋值,我要哪里边值直接调VR就行了,所以这个地方定义变量来保存,这样行了。
04:04
这是我们说到这个。然后呢,大家我们说下边还有这个所有者,那所有者也拿到就行了,那所有者来找我们的所有者,继续来找所有者。修改市场红的模特窗物所有者,就这个把它拿到就行,好贝,然后呢,把它拿到,把他的值也拿到,把他的值也拿到,然后呢,获取它的解块对象来拿到它的值,调V调V,然后呢定一个变量,OK,去了VRO这个变量名你随便写了,那我就直接这么写了,直接给他这属性名保持一致,你好,这是我们章下边还有个大票,开始日期,结束日期,成本描述这些么,把他们都拿到去了,那他们拿大票这几个是么?每次拿过到下面拿比较麻烦。基值大概是不是这样,我要获取的这些值是谁呢?是不是就是上面这些东西啊。
05:07
对,上面这些是我们一点这个什么修改按钮的时候,把数据查出来之后,给他们负的值,现在我一点更新按钮是不是取他们的值啊,取他们其实获取的还是上面这些标签里边值。那我就不去不去找了,这些ID在上面都已经有了,那干什么呢,我就直接什么包括这些的呢,包括这些我就直接拷过来了,对直接拷过来了。拷过来怎么办呢?里边这还是掉VL里这值是不是就不要了,对里边这值不要了,然后呢,前面定一个变量,这样就行了,这样就行。同样大家这个地方也不要了,这是开始日期,定一个变量接收它,直接这样就行。然后呢,这是结束日期。
06:01
然后呢,这个地方来个结束,然后呢这个地方来一个啊,然后呢V和就这还有这是个cos的,然后呢,把它拿到定一个变量来保存一下,这个是个描述,然后呢这个地方就是这是我们来找。其实大话这种写法就就是说其实就是考验,就说锻炼大家对这个函数的理解,解块这个函数,理解这个函数,大家我们以前给大家讲过,这个函数有两种用法。怎么用法,就是什么用来获取或者是设置某一个标签的VALUE6属性值的这个函数,得吧,这个函数,这个函数的用途就是这样,但前面老师应该给大家讲过,就是说解query用来获取,使用解query解query获取啊叫获取或者设置啊,或者设置,然后呢,标签或者元素的value流属性值。
07:13
Value属性,属性值。他的语法就是这样的,它的语法就是这样,然后呢,这如果是用来什么,用来获取的话,用来获取指定的,指定的指定的元素,指定元素的Y力属性值,如果是获取的话,就是这样,你要获取哪一个元素,首先选中那个元素,怎么选中,就是选择器拿到那个元素的解块对象,然后呢调VL,这是表示获取值。如果设置值呢?设值还是给哪个元素设置Y力属性值,然后呢,选择器选中它,拿到它的结块对象,调视角不是调视角上吗?调V这个函数,这里边把那个什么属性值给他传过去,带上参数就行了,就表示给这个元素Y6属性设置了这样一个值。
08:14
不传参数表示获取,传参数表示设置,就这意思吧,那我们这个地方再看在这一个功能修改这个功能当中,上面是设置,下边是获取,知道吧,好,这是我们说的这好下边再看这个获取的时候还有一些问题,哪些问题像这些输自用户自己输的,他有可能不小心带去空着了。这些选的这些选的都无所谓了,所以那这些关于名称成本描述还得去个空格,那名称就这个名称去空格,到那时候点叫什对去用户自己输的,他有可能不小心带张空格,所以我们这个地方来给壳后呢,把这些空格给它去掉,然后呢,这个地方也是一样,Dollar符号点FA,然后呢,我们这个地方来给它去,这样的话大家看我们这些参数都收集到了。
09:08
客户端发布参数都收集到了,都收集到之后,这些参数将来要发到要发到后台对吧,这些参数诶这个地方行c I button,然后呢,对这个地方,这个地方就不要了。然后呢,这个地方,然后呢,获取到这些参数要发到后台,你得保证这些参数都是合法的,那这些参数是合法的,那如何保证合法的,那就表单验证,表单验证,那表单验证验证什么,我们说需求说了,给创建的时候是一样的,这俩不能为空,再一个他俩如果都不为空,它不能比它小,再一个它只能是非负整数。这个验证跟创建的时候完全一样,所以这个地方课堂上我就不给大家写了,写的话除了耽误时间,但这个地方给大家留个作业,你写的时候你要写,你要写你不能不写,知道吧,因为大家这个项目有可能大家你找工作的时候,你简历上会写你做过这种CRM项目,那有的时候人家会看看你做的到底什么样子的。
10:09
那你要是这这些功能,你很多功能都省了,那到时候现一演示,那可能就就人家认为你们公司就就做这种项目就不太可能是吧?对,所以说呢,你写的时候你要是按照正规的写,但咱们课堂上时间有效,我就不给他重复的写了,就同样的代码我只写一遍知吗?好,这是我们说的,到时候你自己写就行了,那假如咱是这个表单验证,验证成功,都验证完了,那下边就可以发请求了,数据可以保证是正确的,下边发送请求,那发送请求可以用我们的设计发个异步请求啊老师阿贾克斯在这边传个对象,对象里边有个URL,表示你要把这个请求发到哪去,那我们就发到这个CTRL里边了,那我们来找这CTRL就好。CI读出来CTRLC,然后呢,这个地方把它拷贝过来,放到我们这里边,这就行了,然后呢,这个地方继续来data,然后呢,把这参数传过去,那参数传过去呢,就这些参数吧,一个一个ID参数名参数值,下面继续了O参数名参数值,还有名称参数名参数值,还有开始日期参数名参数值,还有结束日期参数名参数值,还有这个是成本参数名参数值,还有描述参数名参数值,这样的话我们就可以了。
11:42
那这个地方我们给大家强调一点啊,这些参数名要和谁CTRLL层这个方法里边接收参数表这个行参实体类的属性没有保持一致,这样这边才能接收到,要不然接收不到知道吧,所以这是我们说这些对应关系大家要知道。
12:02
好,然后呢大家继续来,然后呢大家家那下边下边来参数传过去了,然后呢下边请求方式我们用后S,然后呢,这个地方来个响应的信息的类型,我们这个是个接算是吧,这样的话就可了,这样前台的第一个指责就完成了,他一点更新按钮向后台能够发起流浪。那发回之后,下边第二个指道处理响应,处理响应是在回调函数表处理的,那么在回调函数表有个data接收响应信息的,那这个响应信息就这么一个杰森,那下边我们解析杰森渲染界面,那如何解析杰算,那就看成功了20万了,那你来看看吧,那就看成功了十败来看看客的,看看等于一还是等于零,如果等于一,那就成功了,成功了怎么办?需求说的很明白了,如果成功了关闭摩擦窗口,首先关闭摩擦窗口,那关闭摩擦窗口怎么关?就用我们那个函数了,首先来获取那个摩态窗口的解块对象,哟,Model函数行哪一个模态窗口就这个,这是创建的,找到修改了就这个。
13:12
CTRLC把它拿走就行了,然后呢,我要关它,我要关它,我首先要选中它Dollar符号啊,这是个model窗户,关闭它点model,然后呢,要关闭这个地方来,要关闭这个地方来个孩子,这是我们这样,然后呢,下边继续了,下边继续了,那关闭摩托窗口了还不行,还得扔。刷新市场活动列表,然后呢,保持页号和每页显示条数不变,这样的话你刚刚修改那条记录就能刷出来了啊,那刷新的话那就是刷新啊,掉这个分页查询的函数去掉,到时候我再看这个配置number传奇啊。呃,和那个啥。一和之前有状态,大家注意,一页号也不变,修改之前显示第几页,现在还得显示第几页,配置size,配置number,配置S都不变,你知道。
14:15
对,那这可哪玩传奇啊。对,原来显示第几页,是不是现在还是显示第页,原来显示第节在哪存着呢?是不是在这个对象里边存着呢?对获取谁呀,获取它就行了,它是不是就相当于那个配置number啊,就是修改之前的那个是吧,显示调显示的页号就是它。这是修改之前的美元选调数,第一个参数传它,第二个参数传它就行,那我获取它怎么获取,你获取它怎么获取的,你获取它就怎么获取。那怎么获取,就是通过咱们这个函数哪一个就这个。对,这个哪一个地方就这个函数看吧,对,把它拿到这一个是获取配置size的,这获取配置size。
15:04
然后呢,在哪个地方,我看看在这个地方,这是获取配置三,然后呢,这个地方再来一个啊。后边这个配置size子,前边这个是不是是不是用来获取那个配置number啊,配置number那个参数名叫什么来着,朋友对他的配置对把卡的配置,然后写到这里。所以这是我们说了,这是所以,但是你只要理解它的这个执行的这个原理,这个过程,其实它变,咱们不怕它变了什么,我们取什么数据就行了,知。所以这是我们说的这然后呢,大家继续来,下边这是成功了,下边失败了,失败了那就什么提示信息,提示信息提示,那提示信息来一个lo,然后呢,这个信息是个data.message知道吧,模态窗口不关闭,这都是需求要求的是模态窗口不关闭,那不关闭,其实我们把dismiss属性去掉之后,它本来就不关。
16:13
那默认这个就后边已经不用管了,都没事,但我们一般来讲,我们都是收一下啊,把这收一下,这样这样的话大们就可以了,那列表不刷新,列表不刷新,你这个地方就不用掉了。好,这是我们说的这个前台这个代码我们就行了。那前台后台都响了,下边我们就可以测一套了,这个流程保存的流程。好,下面我们来启动服务来测一测吧,让他启动服务。
我来说两句