JSP控制select不可再选择

首先分析下disable ,display和readonly:

1,Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,包括select, radio, checkbox, button等。

2,表单元素在使用了disabled后,当我们将表单以POST或GET的方式提交的话,这个元素的值不会被传递出去。

3,.style="display:none" 用了隐藏页面标签。

项目中要求用户不能二次更改所有select选项。通过查资料发现最好的做法是,把所有select置为disable,然后在用户提交的时候,再把disable置为false。可惜项目是老项目代码太渣,在原有代码上更改增加判断可能会很麻烦,最后选择仅仅新增一个JS来实现效果,上代码:

function streetLimits(){
    var inputs=document.getElementsByTagName('input');
    var selects=document.getElementsByTagName('select');    
    for(var i=0;i<selects.length;i++){
        if(selects[i].name!='sexId'){
            var index;
            selects[i].onclick=function(){
                index=this.selectedIndex;
            };
            selects[i].onchange=function(){
                this.selectedIndex=index;
            };
        }
    }

}

 

posted @ 2013-09-05 22:06  Little_cheeper  阅读(2372)  评论(0编辑  收藏  举报