首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

低代码平台amis学习 四:一个表单添加多个按钮,不同按钮触发不同请求

通过上一节的学习,了解到如何在amis表单中发送网络请求,本文继续处理一种场景: 一个表单中有多个按钮,点击不同按钮时,可以触发不同的网络请求 回想一下,在之前的表单配置中,发送请求需要用到api配置参数...{ "//": "type为submit时, 表示该按钮一个行为按钮...] }] } 代码说明 在 actions 组件中添加多个按钮...; 在每个按钮中添加api属性,配置对应的请求参数、请求url等; 当"type": "submit"时,此时意味着这个按钮是可以触发表单提交行为; 当"type": "button"时,需要再配置 "...actionType": "submit",此时这个按钮也可以触发表单提交行为。

1.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    对抗蠕虫 —— 如何按钮不被 JS 自动点击

    除非,用户在点击按钮时会产生一个「特殊数据」,后端校验它。 但是,XSS 也可以直接调用按钮元素的 click 方法,这样效果和用户点击仍然一样。后端仍无法识别是「脚本点的」还是「用户点的」。...这么看来,我们只能保护好这个「按钮元素」,它没法被 XSS 访问到。例如,把按钮放到一个 不同源的 iframe 里,这样就和 XSS 所在的环境隔离了! 不过,这样还不够。...这里为简单,省略了登录态;真实场合下,会话 Cookie 是 HttpOnly 的,无法被 JS 获取到,也就无法第三方服务器代替发表。...细节: 使用者加载 safebutton.js,引入 SafeButton 类 使用者实例化 SafeButton 对象 A,创建出一个不同源的 iframe 作为按钮界面 用户点击 iframe 按钮后...并且该方案的改造成本也不是很大,后端只是增加一个 referer 判断而已;前端也只需改造个别按钮,例如发帖按钮,像点赞这种按钮就没必要保护了。 觉得本文对你有帮助?请分享给更多人。

    9.2K60

    Js+Css做一个可弹起压下效果的按钮

    好几天没写js和css了,昨天看一个大神的博客的时候无意中看到他的一个效果做的很不错,思来想去觉得自己做一个会比较好,毕竟,本来就是一个学习的过程! 效果: ? 我们今天做一个这样的按钮!...我首先说一下我的思路,我刚开时看到的时候在想,无非就是画一个背景阴影,然后利用js改变阴影的宽度,但是这样有一个问题就是上面的字体不会改变,我开始是做成了这样的: ?...这里很明显就看出来了是有问题的,上面的字体没有改变位置,说明我的思路是不对的,然后我在想,那么既然不改变阴影的宽度,只能是改变按钮本身的位置了,但是他在页面上怎么改变按钮的位置呢?...给他一个相对固定的位置不就行了吗?于是就想到最外侧加一个div就可以了! 源码: <!

    1.7K20

    QT多个按钮信号绑定一个槽函数,执行不同业务逻辑。

    应用场景如下: 举一个例子,大家知道qt自带的点击信号是无参的,有也只是bool类型,比如我要实现上图逻辑,因为从信号的传回的参数无法我确定是哪一个按钮按了下去,我是不是应该去定义5个槽函数,并且这五个按钮的信号分别绑定这五个槽函数...主要的矛盾就在于我们无非是想槽函数有一个参数,用来辨别是哪一个按钮被点击了,但是按钮自带的信号没有这个参数,就算我们强行给槽函数搞一个参数,信号也不会给我们这个参数,并且也不会成功编译,qt的槽信号机制...那么有没有一个能充当中间人的角色呢?有 QSignalMapper这个类可以帮我们做到,它将来自于一些有标识的发送者的signal连接在一起。...说白了就是转发器,怎么用,让我们来一起看一下 QSignalMapper * myMapper; myMapper = new QSignalMapper(this); QPushButton * button...QSignalMapper类的槽函数,不需要我们定义 myMapper->setMapping(button[i], i);//这个i就是我们传给槽函数的值,可以是字符串,其他等等,判断五个按钮

    2.1K10

    JS如何实现一个注册按钮10秒倒计时效果

    mmversion=false 我们平时在逛到一些网站的时候,在一些网站的会员注册页面里,为了提高用户的责任心 以及给用户留下足够的时间阅读完注册协议,可以采用10秒倒计时的方式,阅读完协议后,才可以单机注册按钮的特效...其实这与发送短信验证码倒计时,是一样的 01 原生js实现 以下是原生简易js实现 var sec = 10; function countDownTimer() { timer = setInterval...(function() { // 获取注册按钮的DOM var btn = document.getElementById("btn"); sec--;...btn.value = '注册'; // 设置按钮文本 } },1000) } countDownTimer(); 如下是html代码 请认真阅读完协议...center; flex-direction: column; } .content { margin-bottom: 20px; } 总结 无论是使用原生js

    1.4K20

    【干货】JS如何判断用户是否点击浏览器“退回”按钮返回上一个界面?

    通过window的popstate事件可以监听history的变化,但是,popstate会在浏览器前进后退操作、history.go/back/forward调用、hashchange的时候被触发,它是一个复合事件...forward明显是push的行为,怎么也放到popstate里面。这个事件有设计缺陷。回到题目,我们怎么去判断用户是点击了“退回”按钮? 我们要用到一些取巧的办法。...和上一个state(我们在事件回调中只能拿到当前state) 通过第一步和第二步铺垫的内容,在回调函数中进行判断,从而知道是否是用户点击了“退回”按钮 接下来我们进行实施。...基于这一特性,我们可以自己在state栈中,构建一个链表结构,从而可以读取整个栈内的state链。具体怎么做呢?...当然,这里有一个点需要提前预设,因为在不同的SPA框架中,触发popstate的可能包含在代码中调用history.back()和history.go(-1)的情况,所以,在代码层面,需要继续去区分到底是程序里调用

    6.6K50

    自己动手写客户端UI库——事件机制(设计思路大放送)

    在上一篇文章中我们创建了一个Button控件,并把这个控件显示在界面上, 在这一篇文章中,我们将为这个控件增加一个事件和一个方法 一:怎么绑定事件的问题 在Winform中,我们对一个按钮绑定事件的方式如下...一个按钮可以绑定多个Click事件,而且还要有先后顺序,所以按顺序存好,后面点击事件触发的时候,就可以直接遍历这个容器,按顺序执行这个容器中的委托就好了第三:Button实例IsRendered属性标致只着当前控件是否已经渲染在界面上了第四...为以后使用这个按钮(比如说触发他的事件)打下基础第五:我们判断是不是第一次对这个Button的实例做Click事件的绑定,如果是,那么就做下面的工作,如果不是,就不必做了;也就是说不管我给这个按钮绑定多少个...Click事件,下面的工作也只做一次第六:我们浏览器执行了一段JS脚本,这段Js脚本执行过之后,事件才算绑定成功;这段脚本给Button的Dom元素绑定了一个click事件,这个事件调用了C#中的ButtonClick...方法,并给这个方法传递了一个参数,这个参数就是Button的ID 三:RenderContext的ButtonClick方法 第一: 在本系列的第一篇文章中,我们介绍了C#是怎么JS通讯的,这里就不多做介绍

    1.4K90

    Chrome断点调试

    自己再琢磨琢磨~ 继续上图: 然后我们当然是回去点击加载更多按钮啦,为什么?额。。。如果你这么问,请允许我用这个表情 ,不点击加载更多按钮怎么触发点击事件?...不触发点击事件,怎么去执行点击事件里的函数?咆哮状。。...打个比方,给你一支笔,你写字,然后你在纸上写了一个字,发现字没出来,为啥?你说我写了呀,纸上都还有划痕。那是不是可能笔没有墨水或者笔尖坏了了?...点击加载更多按钮 → 3. 单击一次“逐语句执行“按钮js代码执行到228行 → 4.用鼠标选中i++(什么叫选中大家里不理解?就是你要复制一个东西,是不是要选中它?对,就是这个选中) → 5....介绍完“逐语句执行”按钮和console控制台的用法,最后再介绍一个按钮,上图: 这个按钮我称呼它为“逐过程执行”按钮,和“逐语句执行”按钮不同,“逐过程执行”按钮常用在一个方法调用多个js文件时,涉及到的

    4.6K20

    EXT按钮事件

    完成后,我们会发现,无论用哪一种实现,再点击按钮时都能触发xx这个function....综上,整个流程便是:  Button实例化——> 'click'事件 ——>this.onClick——>this.handler 因此,我们配置了handler,在按钮点击的时候,自然会被触发。...handler与listener的区别 ExtJS里handler和listener都是用来对用户的某些输入进行处理的,有必要区分一下各自都是怎么用的。...Handler handler与Action相关联,一个Action可以有多个Component引用; Action是一个可被共享的对象,有五个主要的属性:text, handler, iconCls,...由上分析可以总结一下: 1、handler是一个特殊的listener; 2、handler是一个函数,而listener是对; 3、handler与Action相关,用来多个组件共享一个

    2.6K30

    serviceWorker 初尝试, 提升用户体验,改善前后端交互方式

    背景介绍: 最近几天领导一个数据库库备份的功能, 在前端页面点击一个按钮,调取后端一个服务,后端进行数据库备份,备份成功后,给后台返回状态码....实现思路: 简单介绍一下serviceWorker之后,我来说一下实现思路 首先,当用户点击页面的数据库备份按钮时, 这时触发一个 serviceWorker的postMessage 方法,进入 serviceWorker...线程中,去调取后台接口, 在后台接口返回后,触发客户端的postMessage 函数,将信息以通知的方式显示到页面上 这种实现方式,可以在用户点击按钮后,想干嘛就去干嘛,不用停留在这个页面,等到后端返回接口信息后...具体编码: 这里我给大家演示一个demo 首先创建一个index.html和一个sw.js index.html,是页面, sw.js 是serverWorker的线程处理函数 首先看index.html...,一个触发事件 一个通知函数 就是这么简单 再来看看sw.js怎么处理的 self.addEventListener('message', function(event) { var promise

    68420

    从编程小白到全栈开发:响应用户的操作

    咳嗽连续咳了一个多月,蓝瘦,我都快要忘记更新文章了...还好一个读友提醒我怎么好久没更新了,我才提起一口气,嘎吱嘎吱的重新转起我这磨损严重的脑袋来。 懒,就一个字,我只说一次......那么在我们的HTML代码中,具体是怎么来处理这些事情的呢? ? 你还记得否,我们之前已经写过了一个简易计算器的代码?(What?你还没写?...一般来说,我们并不推荐这种直接在属性值中写多个JS语句形式,既不直观,也不利于代码复用。我们通常将它们放进一个额外的函数中。...click事件触发的时候,都会被执行。...怎么样?是不是这种方式看起来很强大?而且,这样的做法可以使得HTML代码和JS代码分离,两个部分干干净净的不再搅和在一起,各司其职,便于维护。

    1.7K40

    JavaScript笔记(22)

    mouseover和mouseenter的区别 当鼠标移动到元素上时就会触发mouseenter事件 mouseover: 鼠标经过自身盒子会触发,经过子盒子还会触发(冒泡). mouseenter:...在之前做的时候就发现会有一个小bug: 我们现在第二个盒子只有在点击按钮以后才会向右移动 但是如果我们多次点击按钮,就会发生这样的事情: 下面的盒子会越跑越快...这是因为我们每点一次按钮...现在我们怎么点都不会影响效果了 到现在为止,我们的动画都只是匀速的,那么怎么才能够像CSS3一样变化运动的速度呢?...回调函数的位置: 定时器结束的位置 为了方便使用,我们直接将函数封装在文件中 动画函数封装到单独的JS文件中 因为以后经常使用这个动画函数,可以单独封装到一个JS文件里面,使用的时候引用这个文件即可...然后猝不及防的来了个案例,一个盒子在鼠标经过时滑动的案例: 先来看看结构: 样式: JS: 今天结束,明天学习轮播图,洗漱洗漱上床休息了

    68020

    硬核解析,巧用案例学习jQuery框架三种事件绑定方式

    Jquery对象.mouseout();鼠标移出时触发 表单对象.submit();//表单提交*** 在这里需要注意:如果调用事件方法,不传递回调函数,则会触发浏览器默认行为。...语法格式如下: jq对象.off("事件名称") 注意:如果off方法不传递任何参数,则将组件上的所有事件全部解绑, 如下面的实例:为第一个按钮绑定一个弹窗事件,点击按钮触发弹窗,点击第二个按钮,解除第一个按钮的弹窗事件...,当再点击第一个按钮的时候就不会触发弹窗了。..." type="button" value="使用off解绑点击事件"> 效果如下: 三、事件切换:toggle Jquery中的事件切换方法可以实现方法中定义的多个事件的循环触发.../js/jquery-migrate-1.0.0.js" type="text/javascript" charset="utf-8"> 下面看这个实例: 点击按钮触发toggle()

    1.9K10
    领券