zoukankan      html  css  js  c++  java
  • 来个实时更新文本框关于某个项的值

      1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      2
      3<html xmlns="http://www.w3.org/1999/xhtml">
      4<head id="Head1">
      5<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
      6<title>
      7    
      8</title>
      9    <base target="_self" />
     10   
     11    <script type="text/javascript" language="javascript">
     12   function $(id)
     13   {
     14       return document.getElementById(id);
     15   }

     16   String.prototype.trim = function()
     17   {
     18           var reExtraSpace = /^\s+(.*?)\s+$/;
     19        return this.replace(reExtraSpace, "$1");
     20   }

     21    function AddMoney(objDropDownList,sTextBoxID,sMoney)
     22    {
     23        var objSel = objDropDownList;
     24        var objTxt = $(sTextBoxID);
     25         var sNewAmount = objSel.options[objSel.selectedIndex].text;
     26        var sMoney = sMoney + "";  //e.g. 50元    
     27        var strNewValue = sNewAmount + "";  
     28       
     29//        if (sNewAmount.trim() == "")
     30//            return;
     31            
     32        objTxt.value = sNewAmount;
     33        var oMemo = $("txtMemo");
     34        var rePatten = /(\d+\S+元)/;
     35        var strSource = oMemo.value;
     36        if (rePatten.test(strSource))
     37        {
     38            var strTmpSource = RegExp.$1;
     39             var strFind = sMoney;
     40             
     41            var arrSource = strTmpSource.split(",");
     42            var arrLen = arrSource.length;
     43            var IsExistsValue = false;
     44            for (var i = 0;i < arrLen;i++)
     45            {
     46                var sTmpSource = arrSource[i];
     47                //alert(sTmpSource);
     48                var iTmpIndex = sTmpSource.indexOf(strFind);
     49                if (iTmpIndex > -1)
     50                {
     51                    if (sNewAmount == "")
     52                    {
     53                        arrSource[i] = null;                       
     54                    }

     55                    else    
     56                        arrSource[i] = sTmpSource.replace(sTmpSource.substring(0,iTmpIndex),strNewValue);    
     57                    IsExistsValue = true;
     58                    break;                    
     59                }
        
     60                                
     61            }

     62            var arrResult = [];
     63            var j = 0;
     64            /*解决当数据删除时留下“,”的问题*/
     65            for (var i = 0;i < arrSource.length; i++)
     66            {
     67                if (arrSource[i] == null || arrSource[i] == "")
     68                    continue;
     69                arrResult[j] = arrSource[i];
     70                j ++;    
     71            }

     72            arrSource = arrResult;
     73            if (! IsExistsValue)
     74            {
     75                arrSource[arrLen] = strNewValue + sMoney;
     76            }

     77//            alert(strSource + " ," + arrSource);
     78            strSource = strSource.replace(rePatten,arrSource);            
     79            oMemo.value = strSource;
     80        }

     81        else
     82        {
     83            if (oMemo.value.trim() == "")
     84                oMemo.value = strNewValue + sMoney;
     85            else    
     86                oMemo.value += "\r\n" + strNewValue + sMoney;
     87        }
           
     88    }

     89    
     90    function IsEqualMoney()
     91    {
     92        var oMoney = $("txtChangeAmount");
     93        var oMemo = $("txtMemo");     
     94        var iAmount = parseInt(oMoney.value);
     95        var reMoneyPatten = "";
     96        var reAmountPatten = "";
     97        var iTotalAmount = 0;
     98        
     99        var rePatten = /(\d+\S+元)/;
    100        var strSource = oMemo.value;
    101        if (rePatten.test(strSource))
    102        {
    103            var strTmpSource = RegExp.$1;
    104            var arrSource = strTmpSource.split(",");
    105            var arrLen = arrSource.length;
    106            for (var i = 0;i < arrLen; i++)
    107            {
    108                var sTmp = arrSource[i];
    109                var iTmpIndex = sTmp.indexOf(reAmountPatten);
    110                if (iTmpIndex > -1)
    111                {
    112                    var iTmpCount = sTmp.substring(0,iTmpIndex);
    113                    iTmpCount = parseInt(iTmpCount);
    114                    var iTmpAmount = sTmp.substring(iTmpIndex + 1,sTmp.length - 1);
    115                    iTmpAmount = parseInt(iTmpAmount);
    116                    var iTmpResult = 0;
    117                    iTmpResult = iTmpAmount * iTmpCount;
    118                    //alert(iTmpCount + " 张  " + iTmpAmount + " " + iTmpResult);
    119                    iTotalAmount += iTmpResult;
    120                }

    121            }

    122        }

    123        
    124        if (iTotalAmount != iAmount)
    125        {
    126            alert("请确认兑换金额一致:兑换金额:" + iAmount + "\r\n而备注中的金额为:" + iTotalAmount);
    127            oMoney.focus();
    128            oMoney.select();
    129            return false;
    130        }

    131        return true;
    132        
    133    }

    134    
    135    function CheckData()
    136    {
    137        var oMoney = $("txtChangeAmount");
    138        var oMemo = $("txtMemo");      
    139        
    140        if (!IsEqualMoney())
    141        {
    142            return false;
    143        }

    144        
    145        return true;
    146        
    147    }

    148    
    </script>
    149
    150<style type="text/css">
    151.style1 {
    152    text-align: center;
    153}

    154
    </style>
    155
    156</head>
    157<base target="_self" />
    158<body scroll="no">
    159    <form name="form1" method="post" action="#" id="form1">
    160<table align="center" border="1" cellpadding="0" cellspacing="0" width="100%" id="infotable">
    161  <tr align="right">
    162                <td>
    163                    兑换金额</td>
    164                <td align="left">
    165                    <input name="txtChangeAmount" type="text" id="txtChangeAmount" style="border-style:Groove;172px;" /></td>
    166            <tr>
    167                <td colspan="2" height="70px" valign="middle">
    168                    <table width="100%" cellpadding="0" cellspacing="0" border="0">
    169                        <tr>
    170                            <td align="right" style=" 7%">
    171                                50元&nbsp;</td>
    172                            <td align="left" width="10%">
    173                                <input name="txtFifty" type="text" id="txtFifty" style="border-style:Groove;30px;" /><select name="ddlFifty" id="ddlFifty" onchange="AddMoney(this,'txtFifty','50')" style="20px;">
    174    <option value=""></option>
    175    <option value="1">1</option>
    176    <option value="2">2</option>
    177    <option value="3">3</option>
    178    <option value="4">4</option>
    179    <option value="5">5</option>
    180    <option value="6">6</option>
    181    <option value="7">7</option>
    182    <option value="8">8</option>
    183    <option value="9">9</option>
    184    <option value="10">10</option>
    185
    186</select></td>
    187                            <td width="5%" align="right">
    188                                20元&nbsp;</td>
    189                            <td align="left" width="10%">
    190                                <input name="txtTwenty" type="text" id="txtTwenty" style="border-style:Groove;30px;" /><select name="ddlTwenty" id="ddlTwenty" onchange="AddMoney(this,'txtTwenty','20')" style="20px;">
    191    <option value=""></option>
    192    <option value="1">1</option>
    193    <option value="2">2</option>
    194    <option value="3">3</option>
    195    <option value="4">4</option>
    196    <option value="5">5</option>
    197    <option value="6">6</option>
    198    <option value="7">7</option>
    199    <option value="8">8</option>
    200    <option value="9">9</option>
    201    <option value="10">10</option>
    202
    203</select></td>
    204                            <td width="5%" align="right">
    205                                10元&nbsp;</td>
    206                            <td align="left" width="10%">
    207                                <input name="txtTen" type="text" id="txtTen" style="border-style:Groove;30px;" /><select name="ddlTen" id="ddlTen" onchange="AddMoney(this,'txtTen','10')" style="20px;">
    208    <option value=""></option>
    209    <option value="1">1</option>
    210    <option value="2">2</option>
    211    <option value="3">3</option>
    212    <option value="4">4</option>
    213    <option value="5">5</option>
    214    <option value="6">6</option>
    215    <option value="7">7</option>
    216    <option value="8">8</option>
    217    <option value="9">9</option>
    218    <option value="10">10</option>
    219
    220</select></td>
    221                        </tr>
    222                        <tr>
    223                            <td style=" 7%" class="style1">
    224                                5元&nbsp;</td>
    225                            <td align="left" width="10%">
    226                                <input name="txtFive" type="text" id="txtFive" style="border-style:Groove;30px;" /><select name="ddlFive" id="ddlFive" onchange="AddMoney(this,'txtFive','5')" style="20px;">
    227    <option value=""></option>
    228    <option value="1">1</option>
    229    <option value="2">2</option>
    230    <option value="3">3</option>
    231    <option value="4">4</option>
    232    <option value="5">5</option>
    233    <option value="6">6</option>
    234    <option value="7">7</option>
    235    <option value="8">8</option>
    236    <option value="9">9</option>
    237    <option value="10">10</option>
    238
    239</select></td>
    240                            <td align="right" width="5%">
    241                                2元&nbsp;</td>
    242                            <td align="left" width="10%">
    243                                <input name="txtTwo" type="text" id="txtTwo" style="border-style:Groove;30px;" /><select name="ddlTwo" id="ddlTwo" onchange="AddMoney(this,'txtTwo','2')" style="20px;">
    244    <option value=""></option>
    245    <option value="1">1</option>
    246    <option value="2">2</option>
    247    <option value="3">3</option>
    248    <option value="4">4</option>
    249    <option value="5">5</option>
    250    <option value="6">6</option>
    251    <option value="7">7</option>
    252    <option value="8">8</option>
    253    <option value="9">9</option>
    254    <option value="10">10</option>
    255
    256</select></td>
    257                            <td width="5%" align="right">
    258                                1元&nbsp;</td>
    259                            <td align="left" width="10%">
    260                                <input name="txtOne" type="text" id="txtOne" style="border-style:Groove;30px;" /><select name="ddlOne" id="ddlOne" onchange="AddMoney(this,'txtOne','1')" style="20px;">
    261    <option value=""></option>
    262    <option value="1">1</option>
    263    <option value="2">2</option>
    264    <option value="3">3</option>
    265    <option value="4">4</option>
    266    <option value="5">5</option>
    267    <option value="6">6</option>
    268    <option value="7">7</option>
    269    <option value="8">8</option>
    270    <option value="9">9</option>
    271    <option value="10">10</option>
    272
    273</select></td>
    274                        </tr>
    275                    </table>
    276                </td>
    277            </tr>
    278            <tr>
    279                <td align="right">
    280                    备注信息</td>
    281                <td align="left">
    282                    <textarea name="txtMemo" rows="2" cols="20" id="txtMemo" style="border-style:Groove;height:130px;462px;"></textarea></td>
    283            </tr>
    284            <tr>
    285                <td colspan="2" style="text-align: center">
    286                    <table border="0" cellpadding="3" cellspacing="0" width="500">
    287                        <tr>
    288                            <td width="20%" style="height: 20px">
    289                                &nbsp;</td>
    290                            <td width="20%" style="height: 20px">
    291                                &nbsp;</td>
    292                            <td width="20%" style="height: 20px">
    293                                <input type="button" name="imgBtnSave" id="imgBtnSave" value="确定" onclick="return CheckData();" style="border-0px;" /></td>
    294                            <td width="20%" style="height: 20px">
    295                                </td>
    296                            <td width="20%" style="height: 20px">
    297                                &nbsp;</td>
    298                        </tr>
    299                    </table>
    300                </td>
    301            </tr>
    302        </table>    
    303    </form>
    304</body>
    305</html>
    306
    转载请注明出处[http://samlin.cnblogs.com/

    欢迎关注本人公众号:

    作者赞赏
  • 相关阅读:
    activiti串行会签的使用
    Linux中shell字符串分隔、字符串替换、字符串拼接
    spring 通过启动命令配置文件路径
    流程activiti的组和用户的使用
    使用activiti的designer插件记录
    windows下vue+webpack前端开发环境搭建及nginx部署
    node.js的安装
    开启我的博客之旅
    Docker 命令集合
    github免费搭建个人博客,拥有免费域名
  • 原文地址:https://www.cnblogs.com/samlin/p/989720.html
Copyright © 2011-2022 走看看