页面文件

<#-- 页头 -->
<#assign currNav = "deposit">
<#assign title="网校充值">
<#include "/root/commons/header.ftl"><div class="container"><form id="depositForm" name="depositForm" role="form" action="/root/depositlog/${schoolId}/deposit" method="post"><div class="form-group"><label for="schoolId">网校ID</label><input type="text" class="form-control" id="schoolId" name="schoolId" placeholder="比如。udemy" value="${school.schoolId!''}" readonly="readonly"><p class="help-block">全局唯一,不能和其它网校的ID同样</p></div><div class="form-group"><label for="name">网校名称</label><input type="text" class="form-control" id="name" name="name" placeholder="请填写网校名称" value="${school.name!''}" readonly="readonly"></div><div class="form-group"><label for="duration">充值分钟数  <span id="chinaText" class="text-muted text-sm" style="margin-left:60px;font-size:12px;"> </span></label><input type="number" class="form-control" id="duration" name="duration" placeholder=""><p class="help-block">单位:分钟</p></div><div class="form-group"><label for="amount">充值金额  <span id="moneyText" class="text-muted text-sm" style="margin-left:60px;font-size:12px;"> </span></label><input type="text" class="form-control" id="amount" name="amount" placeholder=""><p class="help-block">单位:元</p></div><div class="form-group"><label for="note">备注</label><input type="text" class="form-control" id="note" name="note" placeholder=""></div>          </form><button  id="submitBtn" class="btn btn-primary">提交充值数据</button></div> <!-- /container --><#-- 页脚開始 -->
<#include "/root/commons/footerBegin.ftl"><script src="/resources/js/bootbox.js"></script><script>//在输入框内容变化的时候触发change$("#duration").on('input',function(e){var value=$("#duration").val();$.get("/root/depositlog/input/change",{number:value},function(data){$("#chinaText").text(data+" 分钟");});});$("#amount").on('input',function(e){var value=$("#amount").val();$.get("/root/depositlog/input/change",{number:value},function(data){$("#moneyText").text(data+" 元");});});$("#submitBtn").click(function(){var schoolId=$("#schoolId").val();var name=$("#name").val();var duration=$("#duration").val();var amount=$("#amount").val();bootbox.dialog({message: "<div id='schoolName'>网校名称:<span>"+name+"</span><span style='margin-left:10px'>schoolId-("+schoolId+")</span></div>"+"<div>充值时长:<span>"+duration+" 分钟</span></div>"+"<div>充值金额:<span>"+amount+" 元</span></div>",title: "充值确认",buttons: {success: {label: "确定",className: "btn-success",callback: function() {document.depositForm.submit();}},danger: {label: "取消",className: "btn-danger",callback: function() {return;}}}});});
</script><#-- 页脚结束 -->
<#include "/root/commons/footerEnd.ftl">

推断仅仅有是数字字符串才发送

$("#duration").on('input',function(e){  var value=$("#duration").val();//alert($.isNumeric(value));if($.isNumeric(value)){$("#mistakeText").html("");$.get("/springmvc/input/change",{number:value},function(data){$("#chinaText").html(data+"分钟");});}else{$("#mistakeText").html("请输入数字!");}});

Java类文件

package com.school.web.controller.root;import java.math.BigDecimal;
import java.nio.charset.Charset;
import java.util.Date;
import java.util.List;import javax.servlet.http.HttpServletRequest;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;import com.school.business.DepositLogManager;
import com.school.business.SchoolManager;
import com.school.domain.DepositLog;
import com.school.domain.Root;
import com.school.domain.School;
import com.school.stereotype.YesNoStatus;
import com.school.util.Constants;/*** 充值管理的控制器。*/
@Controller("rootDepositManagementController")
@RequestMapping("/root/depositlog")
public class DepositManagementController extends AbstractRootController {private static final Logger LOG = LoggerFactory.getLogger(DepositManagementController.class);@Autowiredprivate SchoolManager schoolManager;@Autowiredprivate DepositLogManager depositLogManager;/*** 充值表单。*/@RequestMapping(value = "/{schoolId}/deposit", method = RequestMethod.GET)public ModelAndView depositForm(@PathVariable String schoolId, HttpServletRequest request) {// 网校信息School school = schoolManager.getSchool(schoolId);ModelAndView mav = this.createModelAndView(request);mav.setViewName("root/depositLog/deposit");mav.addObject("schoolId", schoolId);mav.addObject("school", school);return mav;}/*** 处理充值。*/@RequestMapping(value = "/{schoolId}/deposit", method = RequestMethod.POST)public @ResponseBody String depositPost(@PathVariable String schoolId, HttpServletRequest request) {int duration = ServletRequestUtils.getIntParameter(request, "duration", 0);// 时长分钟数。单位:分钟double amount = ServletRequestUtils.getDoubleParameter(request, "amount", 0);// 价格String tradingNote = ServletRequestUtils.getStringParameter(request, "note", null); // 备注if (duration <= 0) {return "invalid duration";}if (amount < 0) {return "invalid amount";}// 当前管理员信息Root root = (Root) (request.getSession().getAttribute(Constants.ROOT_SESSION_NAME));// 交易名称String tradingName = schoolId + "充值" + duration + "。费用:" + amount + "元";// 充值信息DepositLog depositLog = new DepositLog();depositLog.setSchoolId(schoolId);depositLog.setTradingName(tradingName);depositLog.setTradingNote(tradingNote);depositLog.setDuration(duration);depositLog.setAmount(BigDecimal.valueOf(amount));depositLog.setOperator(root.getNickname());depositLog.setStatus(YesNoStatus.YES.getValue());depositLog.setDateAdded(new Date());depositLog.setLastModified(new Date());int rows = depositLogManager.addDepositLog(depositLog);LOG.info(tradingName + "。处理结果:" + rows);return "success";}/*** 查看近期100条充值记录。*/@RequestMapping("/list")public ModelAndView depositLogs(HttpServletRequest request) {// 查询充值记录List<DepositLog> depositLogs = depositLogManager.getDepositLogs();ModelAndView mav = this.createModelAndView(request);mav.setViewName("root/depositLog/list");mav.addObject("depositLogs", depositLogs);return mav;}/*** 将数字转换成中文数字* @author Prosper* @throws UnsupportedEncodingException */@RequestMapping(value="/input/change", method = {RequestMethod.POST,RequestMethod.GET})public ResponseEntity<String> getCNint(HttpServletRequest request){HttpHeaders headers = new HttpHeaders();MediaType mediaType = new MediaType("text", "plain", Charset.forName("UTF-8"));//MediaType mediaType = new MediaType("application", "json", Charset.forName("UTF-8"));headers.setContentType(mediaType);//HttpStatus Yes=HttpStatus.OK;String str = request.getParameter("number");if("".equals(str) && str==null){return new ResponseEntity<String>("no",  headers, HttpStatus.OK);}else{Integer number = Integer.parseInt(str);String ri=intToZH(number);return new ResponseEntity<String>(ri,  headers, HttpStatus.OK);}}public String intToZH(int i){String[] zh = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};String[] unit = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十"};String str = "";StringBuffer sb = new StringBuffer(String.valueOf(i));sb = sb.reverse();int r = 0;int l = 0;for (int j = 0; j < sb.length(); j++){/*** 当前数字*/r = Integer.valueOf(sb.substring(j, j+1));if (j != 0)/*** 上一个数字*/l = Integer.valueOf(sb.substring(j-1, j));if (j == 0){if (r != 0 || sb.length() == 1)str = zh[r];continue;}if (j == 1 || j == 2 || j == 3 || j == 5 || j == 6 || j == 7 || j == 9){if (r != 0)str = zh[r] + unit[j] + str;else if (l != 0)str = zh[r] + str;continue;}if (j == 4 || j == 8){str =  unit[j] + str;if ((l != 0 && r == 0) || r != 0)str = zh[r] + str;continue;}}return str;}}

版权声明:本文博客原创文章。博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/yxwkf/p/4637169.html

使用bootbox.js(二级务必提交书面和数字到数字中国)相关推荐

  1. bootbox.js

    bootbox:一个弹出框插件,官网看一下例子就好了:http://bootboxjs.com/examples.html 目前来说应该只要调用bootbox.js就可以了,没有css的问题 1.有最 ...

  2. js控制form提交

    form表单提交,之前有个下载的项目接口,需要上url上边传超级多东西,但是 url是限制长度的 每个浏览器限制的url长度还不一样,所以就想到用form表单的action提交表单. form标签 定 ...

  3. js控制form提交的action

    js控制form提交的action 2008-07-18 20:18 js脚本: <SCRIPT LANGUAGE="javascript"> function doU ...

  4. bootbox.js实践总结(一)

    最近使用bootstrap做后台管理系统,弹出框用到了bootbox.js,也是和bootstrap风格匹配. 在这里记录下来使用体会. 顺序依赖 jQuery.js Bootstrap(css和js ...

  5. js 模拟from提交post

    js 模拟from提交post $(".btn").click(function(){var params = {};params.username=$("input[n ...

  6. js模拟支付宝提交表单

    弄过支付宝的程序员可能都知道,里面有很多地方都用到了自提交表单的方式,支付宝的接口通过请求API的形式取得服务器返回的表单字符串,使用out.print("表单字符串")在jsp页 ...

  7. 下拉的DIV+CSS+JS二级树型菜单,刷新无影响

    二级菜单,不论展开几个栏目,刷新不影响! Code <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  8. DIV+CSS+JS二级树型菜单,刷新无影响

    二级菜单,不论展开几个栏目,刷新不影响! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  9. php验证数字100倍数,js如何实现一个文本框只能输入数字 且是100的倍数

    js如何实现一个文本框只能输入数字 且是100的倍数? php var a = 123,b = 200; /\d/.test(a) && a % 100 == 0;//false /\ ...

  10. js将阿拉伯数字转换成中文的大写数字

    js将阿拉伯数字转换成中文的大写数字 export const numberToChinese = (num) => {var AA = new Array("零", &qu ...

最新文章

  1. git init 与 git init --bare 区别
  2. python图像锐化_opencv实现图片模糊和锐化操作
  3. An Invitation to 3-D Vision: From Images to Geometric Models 邀请 3d 视觉从图像的几何模型(免费下载)
  4. graphql是什么_什么是GraphQL?
  5. 谷歌紧急修复已遭在野利用的高危 V8 0day (CVE-2021-4102)
  6. Linux驱动总结3- unlocked_ioctl和堵塞(waitqueue)读写函数的实现 【转】
  7. windows+Ubuntu双系统引导修复(终极版)
  8. 4G路由器光伏发电监控系统
  9. 基于Python的招聘信息可视化分析研究
  10. Android9.0 短信发送和彩信接受流程
  11. pandas算加权平均值_python – groupby加权平均值和pandas数据帧中的和
  12. Python 最简单的微信刷屏
  13. 大数据工程师的海量数据存储学习清单!
  14. ElasticSearch—冷热(hotwarm)架构部署
  15. Day13-Java方法详解,方法的定义、重载,命令行传参,可变参数与递归
  16. Android Studio 查看Shar1码
  17. 火绒规则 禁止所有软件的安装_火绒阻止流氓全家桶规则
  18. Chu-LiuEdmonds算法之无环解析
  19. Linux auditd主机系统安全审计服务配置技术方案
  20. 给我一个小碗,还你一个奇迹——结构工程师教你吃垮必胜客(有图,附论文)

热门文章

  1. [Java IO]04_系统标准IO
  2. quick-cocos2d-x GameCenter 排行榜
  3. POI以SAX方式解析Excel2007大文件(包含空单元格的处理)
  4. 从底层分析python中深拷贝和浅拷贝区别
  5. 如何不改表结构动态扩展字段?
  6. IntelliJ IDEA 2019.3 首个最新访问版本发布,新特性抢先看
  7. 关于Java锁机制面试官会怎么问,深刻易懂
  8. 请非技术人员不要对技术人员说这很容易实现
  9. 看完这一篇,运维误删后再也不用跑路了
  10. 饿了么异地多活技术实现