电脑网络: 全部 | 电脑诊所 | 图形图象 | 数据库 | IT论坛 | 硬件DIY | Web开发 | 编程语言 | 网络技术  
主题:[原创]设置表单元素为只读,让下拉框也变成只读的
摘要
关键词
  发送私信

[原创]设置表单元素为只读,让下拉框也变成只读的
设置标氮元素为只读,让下拉框也变成只读的

在HTML中,表单的每一个元素都可以通过elements[i] 获取,因而可以通过遍历所有的标氮元素将它们设置为只读的属性和样式,但是下拉框却没有制度属性,因此需要分开处理 
一般便氮元素都放在表格中来定位的,所以我们可以知道它的当前位置属性。我们可以把下拉框“隐藏”起来,然后在他后面放一个文本框,并且把下拉框的值放进去,这样,下拉框就变成了一个只读的文本框了:)

这里关键用到一个方法:
insertAdjacentHTML(where,str),
swhere:指定插入html标签语句的地方,有四种值可以用: 
1.beforeBegin:插入到标签开始前 
2.afterBegin:插入到标签开始标记后 
3.beforeEnd:插入到标签结束标记前 
4.afterEnd:插入到标签结束标记后 

好了,下面看实际的脚本:

/* SetReadOnlyForm 设置表单元素为只读
*  参数 FormIndex 表单编号
*  by bluedoctor http://www.pwmis.cn  
*/
function SetReadOnlyForm(FormIndex)
{
var objForm=document.forms [FormIndex];
var obj;
var strTextBox="";

for(var i=0;i< objForm.length ;i++)
{
 obj=objForm.elements[i];
 switch(obj.type)
 {
  case "text":
  case "textarea":
   obj.readOnly =true;
   obj.className  ="CssReadOnly ";
   break;
  case "select-one":
   strTextBox="";
   obj.style.display="none";
   obj.parentElement.insertAdjacentHTML("beforeEnd",strTextBox);
   break;
  case "button":
   obj.disabled =true;
   //obj.className  ="CssReadOnly ";
   break;
 }

}


来源:  作者:
点击数: | 回复数: | 时间:2007-11-2 11:41:42
共有评论 
快速回复
游客身份发表,或者输入大名:
支持HTML语法,限250字内 
     
请根据下图中的字符输入验证码:
Powered by pwmis.com  技术支持