问题描述
需求,页面有一个下拉列表和一个自定义的控件 下拉列表的选项有string,int,date 如果选择string,则第二个控件变成一个文本框。 如果选择int, 则第二个控件变成一个文本框,并且只能输入数字类型。 如果选择date,则第二个控件变成一个日期控件。 这在jsp当中该如何实现啊?
解决方案
你可以直接粘出来看看效果,至于日期控件你就自己加吧.<html><head><title></title></head><script>function changeMe(){var chval = document.form1.chval.value;if(chval==1){form1.strval.style.display="block";form1.intval.style.display="none";form1.datval.style.display="none";}else if(chval==2){form1.intval.style.display="block";form1.strval.style.display="none";form1.datval.style.display="none";}else if(chval==3){form1.intval.style.display="none";form1.strval.style.display="none";form1.datval.style.display="block";}}function textchang(){//对数字的验证是要改变了text里的值,并且鼠标移开了以后才进行验证的。var intval = form1.intval.value;var reg = /d*/; //这是正则表达式方法,即是0个或0个以上数字. 如果把*换成+则表示至少一个数字var res = reg.test(intval);if(!res){alert("只能填数字!");return ;}}</script><body><form name="form1" action="" method="post"><select name="chval" onChange="changeMe()"><option value="1">String</option><option value="2">int</option><option value="3">date</option></select></p><input type="text" id="strval" name="strval" value="strval" style="display:block"><input type="text" id="intval" name="intval" value="intval" style="display:none" onChange="textchang()"><input type="text" id="datval" name="datval" value="datval" style="display:none"></form></body></html>