报表JS示例

1. js输入出生年月计算属相
表单输入经常会根据一个输入框的值计算另一个输入框的值,常规的四则运算可以通过表单函数计算,复杂可以通过js计算

设计表单
设计出生年月日期选择框、属相输入框

添加JS代码
进入表单设计器页面,选择开发》javascript,添加js代码

  1. //计算属相函数
  2. function getShengXiao(birth) {
  3. birth += '';
  4. var len = birth.length;
  5. if (len < 4 && len != 2) {
  6. return "";
  7. }
  8. if (len == 2) {
  9. birth - 0 > 30 ? birth = '19' + birth : birth = '20' + birth;
  10. }
  11. var year = (new Date(birth)).getFullYear();
  12. var arr = [ '猴', '鸡', '狗', '猪', '鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊' ];
  13. return /^\d{4}$/.test(year) ? arr[year % 12] : "";
  14. }
  15. //获取日期输入框td对象
  16. var tdB1 = anyrt.getFormCellByPos("B1");
  17. //获取属相输入框td对象
  18. var tdB2 = anyrt.getFormCellByPos("B2");
  19. //注册日期输入框改变事件
  20. tdB1.find("input").change(function() {
  21. //将计算的属相赋值给输入框
  22. tdB2.find("input").val(getShengXiao($(this).val()));
  23. });

预览
选择出生年月,自动计算属相

2. 表单数据保存之前回调js函数
表单保存之前调用js函数,可以校验数据成功保存表单,否则提示错误信息

添加JS代码
进入表单设计器页面,选择开发》javascript,添加js代码

  1. window.callbackFormAddBefore = function() {
  2. }

callbackFormAddBefore: 保存表单数据之前调用的js函数
3. js校验数据
js校验数据成功保存表单,否则提示错误信息
设计表单
表单增加开始日期选择与结束日期选择控件

添加JS代码
进入表单设计器页面,选择开发》javascript,添加js代码

  1. window.callbackFormAddBefore = function() {
  2. var startTd = anyrt.getFormCellByPos("A2");
  3. var startDate = Date.parse(startTd.find("input").val());
  4. var endTd = anyrt.getFormCellByPos("B2");
  5. var endDate = Date.parse(endTd.find("input").val());
  6. if(startDate > endDate) {
  7. anyrt.alert("开始时间不能大于结束时间");
  8. return false;
  9. } else {
  10. //校验成功,保存表单数据
  11. return true;
  12. }
  13. }

预览