当前位置: 首页 > news >正文

salesforce保存记录后,根据条件弹出对话框提示

首先创建一个Visualforce页面并添加到页面布局。

Visualforce页面

  1. 条件语句
    在Visualforce页面的条件语句中,您需要使用正确的Visualforce表达式语法来插入JavaScript代码。此外,Visualforce的表达式语法不支持JavaScript直接调用,因此需要将条件逻辑转换为字符串比较。

  2. 脚本位置
    将脚本移到Visualforce页面的顶部,以确保在页面加载时能够正确执行。

Visualforce页面

<apex:page standardController="Opportunity" action="{!markread}" extensions="OpportunityExtension"><apex:form><script>window.onload = function() {var contractField = '{!Opportunity.Contract__c}';var messageShown = '{!Opportunity.MessageShown__c}';if (contractField !== '' && messageShown === 'false') {alert("Contract was successfully created");}};</script></apex:form>
</apex:page>

Apex控制器

确保OpportunityExtension类和markread方法正确更新 MessageShown__c 字段。

public with sharing class OpportunityExtension {private final Opportunity opp;public OpportunityExtension(ApexPages.StandardController controller) {this.opp = (Opportunity)controller.getRecord();}public PageReference markread() {if (opp.Contract__c != null && !opp.MessageShown__c) {opp.MessageShown__c = true;update opp;}return null;}
}

解释

  1. 页面脚本

    • window.onload 确保脚本在页面加载完成后运行。
    • 将字段值转化为JavaScript字符串来进行比较。
    • 只有当 Contract__c 有值且 MessageShown__c 为false时,才会显示警告消息。
  2. Apex控制器

    • markread方法中,先检查条件,然后再更新 MessageShown__c 字段。
    • 确保条件和更新逻辑正确执行。

步骤

  1. 将Visualforce页面代码和Apex控制器代码复制到Salesforce开发者控制台或您的代码编辑器中。
  2. 保存更改并刷新您的Opportunity页面以测试功能。

Contract__c 字段有值且 MessageShown__c 为false时,页面加载时会显示警告消息,然后将 MessageShown__c 更新为true。

相关文章:

  • PLS_INTEGER:Oracle PL/SQL中的整数类型深度解析
  • HarmonyOS Next 系列之HTTP请求封装和Token持久化存储(四)
  • 解决el-table表格拖拽后,只改变了数据,表头没变的问题
  • 算法训练营day24
  • 触摸芯片在物联网和人工智能上的应用
  • udp协议下的socket函数
  • 将Firefox插件导入Edge/Chrome中
  • Redis客户端界面工具QuickRedis
  • 6_1 Linux 用户管理
  • Cohere reranker 一致的排序器
  • 【论文复现|智能算法改进】基于改进鲸鱼优化算法的移动机器人多目标点路径规划
  • 1.Vue2使用ElementUI-初识及环境搭建
  • ViewModel、Lifecycles、LiveData基本使用
  • TK防关联引流系统:全球多账号运营,一“键”掌控!
  • Typora 破解、激活!亲测有效!2024 最新激活方法
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【RocksDB】TransactionDB源码分析
  • GraphQL学习过程应该是这样的
  • Java编程基础24——递归练习
  • node-glob通配符
  • SpringCloud集成分布式事务LCN (一)
  • VUE es6技巧写法(持续更新中~~~)
  • 给github项目添加CI badge
  • 回流、重绘及其优化
  • 讲清楚之javascript作用域
  • 力扣(LeetCode)965
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 普通函数和构造函数的区别
  • 前端知识点整理(待续)
  • 让你的分享飞起来——极光推出社会化分享组件
  • 手写双向链表LinkedList的几个常用功能
  • 物联网链路协议
  • 写代码的正确姿势
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #13 yum、编译安装与sed命令的使用
  • (6)STL算法之转换
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (利用IDEA+Maven)定制属于自己的jar包
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (转)http协议
  • (转)Sublime Text3配置Lua运行环境
  • .net CHARTING图表控件下载地址
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • @KafkaListener注解详解(一)| 常用参数详解
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • [APIO2015]巴厘岛的雕塑
  • [CF482B]Interesting Array
  • [CSS]文字旁边的竖线以及布局知识