<select name="city" id="city" onChange="slt()">//调用这个方法
<option value="Aberdeen">Aberdeen</option>
<option value="Dundee">Dundee</option>
<option value="Edinburgh">Edinburgh</option>
<option value="Glasgow">Glasgow</option>
<option value="Belfast">Belfast</option>
<option value="">其他(请输入)</option>
</select>
<input name='city' id='othercity' type='text' style="display:none;" /><script type="text/javascript">$=document.getElementById;//var slt=$("city");你要获取某个对象最好是在方法本身里面获取
//slt.onchange = function(){ //onchange是事件还是方法??这样子写应该会存在问题
slt= function(){ //改成这样,然后在<select>标签里面调用这个方法
var slt=$("city");
// if(this.value==''){this指代的对象不明 改为slt吧
if(slt.value==''){ $('othercity').style.display="";
}
else{
$('othercity').style.display="none";
$('othercity').value="";
}
}
</script>
<option value="Aberdeen">Aberdeen</option>
<option value="Dundee">Dundee</option>
<option value="Edinburgh">Edinburgh</option>
<option value="Glasgow">Glasgow</option>
<option value="Belfast">Belfast</option>
<option value="">其他(请输入)</option>
</select>
<input name='city' id='othercity' type='text' style="display:none;" /><script type="text/javascript">$=document.getElementById;//var slt=$("city");你要获取某个对象最好是在方法本身里面获取
//slt.onchange = function(){ //onchange是事件还是方法??这样子写应该会存在问题
slt= function(){ //改成这样,然后在<select>标签里面调用这个方法
var slt=$("city");
// if(this.value==''){this指代的对象不明 改为slt吧
if(slt.value==''){ $('othercity').style.display="";
}
else{
$('othercity').style.display="none";
$('othercity').value="";
}
}
</script>
String[] cities = request.getParameterValues("city");
即使你隐藏了该控件,页面还是会把该值提交给后台处理的,如果是把控件设为disabled才不会提交
同名表单项的处理,浏览器有差异,WEB服务器也有差异,所以还是别乱搞,除非你都测过。
选择或者输入的控件名都不叫city,然后提交的时候,判断一下,把值取到一个叫city的隐藏控件里你提交到后台,接收的是一个属性吧.这个属性不一定非得是数据库字段名吧