jquery dwr 关于$符冲突解决方法

1.在tags.jsp进行修改

<%@ page isELIgnored="false"  %>
<%@ taglib prefix="html" uri="http://struts.apache.org/tags-html"%>
<%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %>
<%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<link rel="stylesheet" href="${ctx}/css/common.css" type="text/css" />
<script type="text/javascript" src="${ctx}/scripts/jquery.js"></script>
<script type="text/javascript" src="${ctx}/scripts/jquery.validate.js"></script>
<script type="text/javascript" src="${ctx}/scripts/jquery.metadata.js"></script>
<script type="text/javascript" src="${ctx}/scripts/localization/messages_cn.js"></script>
<script type="text/javascript" src="${ctx}/js/common/My97DatePicker/WdatePicker.js"></script>
<script type="text/javascript" src="${ctx}/js/common/jqueryValidate.js"></script>
<script type="text/javascript" src='${ctx}/dwr/engine.js'></script>
<script type='text/javascript' src='${ctx}/dwr/util.js'></script>


<script type="text/javascript">
<!--
  var j = jQuery.noConflict();
//-->
</script>

 ==============================

2.jqueryValidate.js文件进行修改

var j = jQuery.noConflict();
//只能包括中文字、英文字母、数字
j.validator.addMethod( "MaxNText",
                         function(value, element, param) {
        var varReg= /^[A-Z]|[a-z]|[0-9]|[/u4e00-/u9fa5]$/;
        var varValue = j.trim(value);

        for(var i=0;i<varValue.length;i++){
           var varChar = varValue.charAt(i);
           if(!varReg.test(varChar))
          return false;
        }

        var varLength=  varValue.replace(/[^/x00-/xff]/g, 'xx').length;
        return this.optional(element) ||  varLength>=param[0]&&varLength<=param[1];
                         },
                         "只能包括中文字、英文字母、数字,且长度在{0}-{1}个字节之间(一个中文字算2个字节)" );

//MaxNText  在GBK编码里,除了ASCII字符,其它都占两个字符宽                        
j.validator.addMethod( "getBytesLength",
                         function(value, element,param) {
                             var varValue = j.trim(value);
                             var varLength=  varValue.replace(/[^/x00-/xff]/g, 'xx').length;
                             return this.optional(element) ||  varLength>=param[0]&&varLength<=param[1];
                         },
                         j.validator.format("请确保输入的值在{0}-{1}个字节之间(一个中文字算2个字节)") );

//ExactNNumericText    表示固定为N位长度的数字。
j.validator.addMethod( "ExactNNumericText",
                         function(value, element) {                                                                                      
                             var varReg= /^[0-9]+$/;
                             var varValue = j.trim(value);
                                                     
                             return varReg.test(varValue);
                         },
                         j.validator.format("请确保您输入的是数字")  ); 

//ActiveCurrencyAndAmount  表示货币符号和金额,其中金额的整数部分最多16位数字,小数部分固定2位数字。
//例如:< Amt Ccy="CNY" >2784245.00< /Amt >
//例如一元只能为1.00,不能为1或者1.0,金额第一位非零数字前禁止补零(例如一元只能为1.00,不能为01.00或者前补更多0)。
//注:货币符号采用《ISO-4217:Codes for the representation of currencies and funds》标准,人民币的货币符号为"CNY"。
j.validator.addMethod("ActiveCurrencyAndAmount",
                         function(value, element) {

          if(j.trim(value)==""){
        return false;
       }

       var reg = /^([0]|([1-9]/d{0,15}))(./d{2}){1}$/;

       return  reg.test(value);
                         },
                         "货币符号和金额,其中金额的整数部分最多16位数字,小数部分固定2位数字" );


//SummaryAmountText  表示汇总金额,其中货币符号(3位)、金额正负的标识(1位),小数部分2为数字,整数部分最多20位数字,小数点(1位)
j.validator.addMethod("SummaryAmountText",
                         function(value, element) {

          if(j.trim(value)==""){
        return false;
       }

       var reg = /^[a-z|A-Z]{3}([0]|(/-{0,1}[1-9]/d{0,19}))(./d{2}){1}$/;

       return  reg.test(value);
                         },
                         "货币符号(3位)、金额正负的标识(1位),小数部分2为数字,整数部分最多20位数字" );


//AmountText  表示金额,其中货币符号(3位),小数部分2为数字,整数部分最多16位数字,小数点(1位)。
j.validator.addMethod("AmountText",
                         function(value, element) {

          if(j.trim(value)==""){
        return false;
       }

       var reg = /^[a-z|A-Z]{3}([0]|([1-9]/d{0,15}))(./d{2}){1}$/;
     
       return  reg.test(value);
                         },
                         "货币符号(3位),小数部分2为数字,整数部分最多16位数字" );


//DecimalNumber  表示数量,其中整数部分最多16位数字,小数部分固定2位数字。
j.validator.addMethod("DecimalNumber",
                         function(value, element) {

          if(j.trim(value)==""){
        return false;
       }

       var reg = /^([0]|([1-9]/d{0,15}))(./d{2}){1}$/;

       return  reg.test(value);
                         },
                         "整数部分最多16位数字,小数部分固定2位数字" ); 


//PercentageRate  表示利率,最多11位数字,其中小数部分最多10位数字。
j.validator.addMethod("PercentageRate",
                         function(value, element) {

          if(j.trim(value)==""){
        return false;
       }

       var reg = /^([0]|([1-9]/d{0,10}))(./d{1,10}){1}$/;

       if(reg.test(j.trim(value))){
        if(j.trim(value).length>12){
         return false;
        }
       }

       return  reg.test(value);
                         },
                         "最多11位数字,其中小数部分最多10位数字" );

//一代报文金额15位, 13位整数+2位小数, amount_1, 金额
j.validator.addMethod("amount_1", function(value, element){
       if(j.trim(value) == ""){
        return false;
       }
       return /^/d{1,13}(/./d{1,2}){0,1}$/.test(value);
      },
      "整数位不超过13位数字, 小数不超过2位数字");

//行号, 12或14位数字
j.validator.addMethod("bankcode", function(value, element){
       if(j.trim(value) == ""){
        return false;
       }
       return /^(/d{12}|/d{14})$/.test(value);
      },
      "行号需填12或14位的数字");

 

 ====================

3.在每个jsp文件里的$都换成j

你可能感兴趣的:(jquery dwr 关于$符冲突解决方法)