input.setAttribute('类型', '复选框'); IE错误

发布于 2024-09-24 18:07:04 字数 2028 浏览 5 评论 0原文

此问题仅在 ie 中出现。所有其他浏览器即 ff、chrome、safari、opera 都运行良好。 它不显示 chcekbox 而是显示一个值框...

代码:

<html>
<head>
  <title></title>
 <style>
 *{margin:0;padding:0;}
 ul {
    padding:10px 10px 0 35px;
    list-style:none;
    }

 li{
 display:inline;
 text-weight:bold;
 color:#475D7F;
 }
 li img{margin-bottom:-2%;}
 </style>
<script language="JavaScript" type="text/javascript">
<!--

function DOM(obj,id){
var total=10;
var coll=3;
var row=total/coll;

var tar=document.getElementById(id);
var table=document.createElement('TABLE');
  table.border='0';
  tar.appendChild(table);
var tbdy=document.createElement('TBODY');
  table.appendChild(tbdy);

  for (var zx1=0;zx1<=row;zx1++){
   var tr=document.createElement('TR');
   tbdy.appendChild(tr);
   for (var zx2=0;zx2<coll;zx2++){
    var td=document.createElement('TD');
    var ul=document.createElement('UL');    
    var input=document.createElement('INPUT');
    var img=document.createElement('IMG');

    tr.appendChild(td);
    td.width='200';
    td.appendChild(ul);
    var li1=document.createElement('LI');
    li1.appendChild(input);
    ul.appendChild(li1);
    input.setAttribute("name", "friend");
    ***input.setAttribute('Type', 'checkbox');***
    input.setAttribute("value", "yap frnd");
    input.setAttribute("id", "xyz");


    var li2=document.createElement('LI');
    ul.appendChild(li2);
    li2.appendChild(img);
    img.setAttribute("src", "x.jpg");
    img.setAttribute("title", "x");
    img.setAttribute("alt", "x");
    img.setAttribute("style", "padding-bottom:-2%;");

    var li3=document.createElement('LI');
    ul.appendChild(li3);      
    li3.appendChild(document.createTextNode('Ataus Samad Rubel'));

   }
  } 

}
//-->
</script>
</head>

<body>
<select onchange="DOM(this,'target');" >
<option >DOM Method</option>
<option >do</option>
</select>
</body>
</html>

希望有人研究它..感谢您的赞赏。

This problem shows only in ie.all other browser namely ff,chrome,safari,opera works well.
It doesn't show chcekbox instead shows a value box...

code:

<html>
<head>
  <title></title>
 <style>
 *{margin:0;padding:0;}
 ul {
    padding:10px 10px 0 35px;
    list-style:none;
    }

 li{
 display:inline;
 text-weight:bold;
 color:#475D7F;
 }
 li img{margin-bottom:-2%;}
 </style>
<script language="JavaScript" type="text/javascript">
<!--

function DOM(obj,id){
var total=10;
var coll=3;
var row=total/coll;

var tar=document.getElementById(id);
var table=document.createElement('TABLE');
  table.border='0';
  tar.appendChild(table);
var tbdy=document.createElement('TBODY');
  table.appendChild(tbdy);

  for (var zx1=0;zx1<=row;zx1++){
   var tr=document.createElement('TR');
   tbdy.appendChild(tr);
   for (var zx2=0;zx2<coll;zx2++){
    var td=document.createElement('TD');
    var ul=document.createElement('UL');    
    var input=document.createElement('INPUT');
    var img=document.createElement('IMG');

    tr.appendChild(td);
    td.width='200';
    td.appendChild(ul);
    var li1=document.createElement('LI');
    li1.appendChild(input);
    ul.appendChild(li1);
    input.setAttribute("name", "friend");
    ***input.setAttribute('Type', 'checkbox');***
    input.setAttribute("value", "yap frnd");
    input.setAttribute("id", "xyz");


    var li2=document.createElement('LI');
    ul.appendChild(li2);
    li2.appendChild(img);
    img.setAttribute("src", "x.jpg");
    img.setAttribute("title", "x");
    img.setAttribute("alt", "x");
    img.setAttribute("style", "padding-bottom:-2%;");

    var li3=document.createElement('LI');
    ul.appendChild(li3);      
    li3.appendChild(document.createTextNode('Ataus Samad Rubel'));

   }
  } 

}
//-->
</script>
</head>

<body>
<select onchange="DOM(this,'target');" >
<option >DOM Method</option>
<option >do</option>
</select>
</body>
</html>

wish someone look into it..thanks for your appreciation.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

兔小萌 2024-10-01 18:07:04

在 IE 中将

input.setAttribute("name", "friend");
input.setAttribute("type", "checkbox");
input.setAttribute("value", "yap frnd");
input.setAttribute("id", "xyz");
li1.appendChild(input);                 //this needs to happen after

You can't change the type attribute of an <input> or <button> after adding it to the DOM in IE, so change it before appending it, like this:

input.setAttribute("name", "friend");
input.setAttribute("type", "checkbox");
input.setAttribute("value", "yap frnd");
input.setAttribute("id", "xyz");
li1.appendChild(input);                 //this needs to happen after
蓝海 2024-10-01 18:07:04

尝试:

input.setAttribute('type', 'checkbox');
                    ^

注意小写的t

try:

input.setAttribute('type', 'checkbox');
                    ^

Notice the lowercase t.

与风相奔跑 2024-10-01 18:07:04

由于 IE 不支持在分配输入类型后对其进行更改,您应该在将类型添加到 DOM 之前分配类型。

Since IE doesn't support a change in an input type once it has been assigned, you should assign the type before adding it to the DOM.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文