加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

input和select设置为不可修改及取消不可修改

(2017-09-22 18:50:43)
分类: html

input和select设置为不可修改及取消不可修改。

1、当需设置input和select显示为只读(不可修改)时,两者有不同的设置方法。

1)input可设置为只读,在其中增加属性readonly=“readonly”;

2)select没有readonly这个属性,不过可以通过disabled=“disabled”进行设置;

3)其中input设置为只读时,仍可提交,而select设置为不可用时,则不可提交。此时可在提交函数中,通过jQuery单独获取select的值,然后提交。

2、上述只读(不可修改)的设置与取消

1)设置 可直接在input或select标签中增加对应的属性;

可通过jQuery进行设置,如:$("#id").attr("readonly",readonly);——其中id为input标签的id $("#id").attr("disabled",disabled);——其中id为select标签的id

2)取消 可通过jQuery进行取消,如:$("#id").removeAttr("readonly");——其中id为input标签的id $("#id").removeAttr("disabled");——其中id为select标签的id


html中select只读显示

因为Select下拉框只支持disabled属性,不支持readOnly属性,而在提交时,disabled的控件,又是不提交值的。现提供以下几种解决方案:

        1、在html中使用以下代码,在select外层加1个span,通过js控制。这种设置的不足之处是IE浏览器兼容,fireFox及其他不兼容..

 

  1. <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">span onmousemove="this.setCapture();"onmouseout="this.releaseCapture();" onfocus="this.blur();"  
  2.     <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">select id="select1" 
  3.         <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option value="0">0</<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option 
  4.         <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option value="1">1</<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option 
  5.     </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">select 
  6. </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">span 

       2、使用js文件,这种方法的不足之处和第一种一样。

 

       

  1. "select">  
  2.     aaa  
  3.   
  4. "text/javascript">  
  5. SetReadOnly(document.getElementByIdx_x("select"));  
  6. function SetReadOnly(obj){  
  7.     if(obj){  
  8.         obj.onbeforeactivate function(){return false;};  
  9.         obj.onfocus function(){obj.blur();};  
  10.         obj.onmouseover function(){obj.setCapture();};  
  11.         obj.onmouseout function(){obj.releaseCapture();};  
  12.      
  13.  
  14.   

       3、使用jquery方式解决。

 

  1. $(function(){ $("select").attr("disabled", "disabled");  
  2.  //如果和jquery1.6以上版本,可以使用以下语句:  
  3.  $("select").prop("disabled", true);});  

     4、先将select的属性设置为


disabled="disabled"

      然后在提交表单的时候使用disabled置为空。

      Microsoft IE 5.5、IE 6、IE7、IE 10、Mozilla Firefox、Apple Safari 和 Opera 等浏览器对 HTML select 元素的 disabled 属性支持都很不错。而 IE 8、IE 9 和 Chrome 都有 bug,不能很好支持。不知道有没有办法在 HTML 源代码补救这一 bug。

      补救办法:

      

  1. option.selected  
  2.   color: White;  
  3.   Cyan;  
  4.  

    其他改变样式,使用CSS改变文字颜色

   

  1.     //将input中的type改为hidden即为你要的效果了.  
  2.     //提交时, 你不要取selList的值, 取hdSelList的值就好了.  
  3.     setVal();  //1.在初始加载时就将两者的值设置为一致;  
  4.     //2. 为了防止代码以后会有改动---有时不需要disabled, 故有上面的onchange="setVal()"  
  5.     function setVal()  
  6.         document.getElementByIdx_x('hdSelList').value document.getElementByIdx_x('selList').value;  
  7.      
  8. </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">script 
  9. </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">body 
  10. </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">html 

     还有下面的一种情况,页面数据太多,处理时间较长

    

  1.         $DisSelects.attr("disabled", false); //处理之前, 全部打开  
  2.         $("#form1").submit();                //提交  
  3.         $DisSelects.attr("disabled", true);  //处理完成, 全部禁用  
  4.      
  5. </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">script     
  6. </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">head 
  7. <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">body 
  8. <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">form id="form1" action="HTMLPage.htm" 
  9.     <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">input type="button" value="submit" onclick="commit()" />  
  10.     <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">select id="Select1" disabled="disabled"  
  11.         <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option value="0" >0</<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option 
  12.         <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option value="1" selected="selected">1</<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option 
  13.     </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">select 
  14.     <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">select id="Select2" disabled="disabled"  
  15.         <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option value="1" >1</<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option 
  16.         <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option value="2" selected="selected">2</<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option 
  17.     </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">select 
  18.     <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">select id="Select3" disabled="disabled"  
  19.         <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option value="2" >2</<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option 
  20.         <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option value="3" selected="selected">3</<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option 
  21.     </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">select 
  22.     <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">select id="Select4"  disabled="disabled"  
  23.         <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option value="3" >3</<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option 
  24.         <<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option value="4" selected="selected">4</<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">option 
  25.     </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">select 
  26. </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">form 
  27. </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">body 
  28. </<span class="tag-name" style="margin: 0px; padding: 0px; border: none; background-color: inherit;">html>  

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有