首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

select的onchange和文本框那些事儿

2012-08-10 
求助select的onchange和文本框那些事儿是这样的,select下拉框有三个项目,分别是美金日元人民币当选择美金

求助select的onchange和文本框那些事儿
是这样的,select下拉框有三个项目,分别是
美金
日元
人民币

当选择"美金"的时候
文本框可以输入的值是14位整数
当选择"日元"的时候
文本框可以输入的值是11位整数2位小数
当选择"人民币"的时候
文本框可以输入的值是9位整数2位小数

并且每次改变选项,之前输入的值要清空的


这个onchange的function要怎么写啊。。。我怎么写都没触发的赶脚。。。。。。



[解决办法]
<select name="selectname" id="selectid" onchange="document.getElementById('inputid').value = ''"></select>
<input name="inputname" id="inputid" onblur=checkvalue(this)>
function checkvalue(o){
selv = document.getElementById('selectid').value;
t1 = "/^\d{1,14}$/";
t2 = "/^\d{1,11}\.\d{1,2}$/";
t3 = "/^\d{1,9}\.\d{1,2}$/";
r = false;
if(selv=="美金")r = t1.test(o.v)
if(selv=="日元")r = t2.test(o.v)
if(selv=="人民币")r = t3.test(o.v)
if(!r)alert("输入错误!");
}
没调试,大概就是这个意思。
[解决办法]
顶帖收藏,就是楼上的这个思路。


[解决办法]

HTML code
<!DOCTYPE html><html><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    <title>无标题文档</title></head><body>    <select id="sel">        <option value="usd">美金</option>        <option value="yen">日元</option>        <option value="rmb">人民币</option>    </select>    <input id="textbox" type="text" />    <div id="debug"></div>    <script>        var sel = document.getElementById('sel'),            input = document.getElementById('textbox');        sel.onchange = function(){            input.value = '';        }        input.onkeypress = function(event){            var e = event || window.event,                key = e.keyCode || e.which,                str = this.value + String.fromCharCode(key),                reg;            if(e.keyCode !== 0){                return true;            }            switch(sel.value){                case 'usd':                     reg = /^\d{0,14}$/;                    break;                case 'yen':                     reg = /^\d{0,11}(?:\.\d{0,2})?$/;                    break;                case 'rmb':                    reg = /^\d{0,9}(?:\.\d{0,2})?$/;                    break;            }            if(!reg.test(str)){                return false;            }        }        input.onblur = function(){            if(/\.$/.test(this.value)){                this.value += "00";            }        }    </script></body></html>
[解决办法]
3 楼正解,

<script>//这个地方最好完善下,不然在浏览器下可能会有问题 <script type="text/javascript">

热点排行