gpt4 book ai didi

Javascript 在 chrome 中有效,但在 IE 中无效

转载 作者:太空宇宙 更新时间:2023-11-04 14:41:03 24 4
gpt4 key购买 nike

如果您在 chrome 中呈现下面的代码,您会看到这添加得很好,但如果您使用 IE,则不会添加这些行。你能告诉我我在这里做错了什么,它在 IE 中不起作用吗?当我在 IE 中添加新行时,我的新行没有添加控件。这在 chrome 和 firefox 中工作正常,但在 IE 中不工作。除非我遗漏了 IE 特有的东西,否则我在代码中找不到任何错误。感谢您的帮助。

<head>
<title></title>
<script type="text/javascript">

function insertAdditional() {
var type = document.getElementById('additional_type').value;
var node = document.createElement('li');
node.innerHTML = document.getElementById(type + 'Form').innerHTML;
document.getElementById('additional').appendChild(node);
}


function addRow(tableID) {

var table = document.getElementById(tableID);

var rowCount = table.rows.length;
var row = table.insertRow(rowCount);

var cell1 = row.insertCell(0);
var element1 = document.createElement("input");
element1.type = "checkbox";
element1.name = "chkbox[]";
cell1.appendChild(element1);

var cell2 = row.insertCell(1);
var element2 = document.createElement("input");
element2.type = "date";
element2.size = "12";
element2.maxlength = "10";
element2.placeholder = "YYYY-MM-DD";
element2.name = "entrydate[]";
cell2.appendChild(element2);

var cell3 = row.insertCell(2);
var element3 = document.createElement("input");
element3.type = "date";
element3.size = "12";
element3.maxlength = "10";
element3.placeholder = "YYYY-MM-DD";
element3.name = "eventdate[]";
cell3.appendChild(element3);


var cell4 = row.insertCell(3);
var element4 = document.createElement("textarea");
element4.type = "text";
element4.name = "comment[]";
element4.rows = "4";
element4.cols = "60";
cell4.appendChild(element4);

}

function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;

for (var i = 0; i < rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if (null != chkbox && true == chkbox.checked) {
table.deleteRow(i);
rowCount--;
i--;
}


}
} catch (e) {
alert(e);
}
}

</script>
</head>
<body>
<h1>
Comments</h1>
<div>
<input type="button" value="Add Comment" onclick="addRow('dataTable')" />
<input type="button" value="Delete Comment" onclick="deleteRow('dataTable')" /> </div>
<table id="dataTable" width="1024px" border="1" cellpadding="10">
<tr>
<th>
<center>
Choose</center>
</th>
<th>
<center>
Entry Date</center>
</th>
<th>
<center>
Event Date</center>
</th>
<th>
<center>
Comment</center>
</th>
</tr>
<tbody>
<tr>
<td>
<input type="checkbox" name="chk[]" />
</td>
<td>
<input type="date" placeholder="YYYY-MM-DD" size="12" maxlength="10" name="entrydate[]" />
</td>
<td>
<input type="date" placeholder="YYYY-MM-DD" size="12" maxlength="10" name="eventdate[]" />
</td>
<td>
<textarea rows="4" cols="60" maxlength="500" name="comment[]"></textarea>
</td>
</tr>
</tbody>
</table>
</body>

最佳答案

因为 IE has no support for date inputs除了 Opera 和一些最近的浏览器之外,也没有任何浏览器。 Chrome 有部分支持,which started at Chrome 20 .

正如评论中指出的那样,IE 在更改输入类型时有些问题。 IE 默认为 text,但为避免出现问题,IE's createElement accepts an HTML string您可以在其中定义类型:

//creating a radio button
var newRadioButton = document.createElement("<input type='radio' />");

关于Javascript 在 chrome 中有效,但在 IE 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16385705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com