【发布时间】:2012-08-30 05:45:00
【问题描述】:
只有在 Firefox 上才会出现此错误:
ID/NAME 在全局范围内引用的元素。请改用 W3C 标准 document.getElementById()。
if (c.checked == 1)
GFPart...vitate= (line 17)
TypeError: c is null
if (c.checked == 1)
我的 Javascript 看起来像这样:
<script type="text/javascript">
function SavePartners() {
var poz = '@ViewBag.Activity';
var rowCount = dataTable.rows.length;
var ala0 = "";
for (var i = 1; i < rowCount; i++) {
var c = document.getElementById("chkpart" + i);
if (c.checked == 1)
ala0 += dataTable.rows[i].cells[1].innerText + "^";
var ala = ala0.substring(0, ala0.length - 1);
}
$.ajax({
url: '@Url.Action("TPartners")',
data: { pozActivitate: poz, listapart: ala },
dataType: "Json",
type: "POST",
error: function () {
alert("Error");
},
success: function (data) {
window.close();
}
});
}
我的 HTML 看起来像这样(它的表格有 2 列,1 列带有复选框,2 列带有合作伙伴的名称)
<tr>
<td style="border-left: none;">
@if (listaDeTest.Activity!= 0)
{
string x = (from a in listaDeTest.PartenerName
where a == s
select a).FirstOrDefault();
if (x == null)
{
<input type="checkbox" name="chkpart @i" />
}
else
{
<input type="checkbox" name="chkpart @i" checked="checked"/>
}
}
else
{
<input type="checkbox" name="chkpart @i" />
}
</td>
<td>
<p style="margin-left: 5px;">@s</p>
</td>
</tr>
.... 最后有一个带有onclick功能的按钮。 任何想法可能是什么?因为在 IE 中完美运行。提前致谢
【问题讨论】:
-
也许在你的 添加
-
元素“name”或“id”属性中不允许有空格。
-
@MikeThunder ??我不明白。事实是,如果
getElementById()返回null,则意味着没有带有您传递的“id”的元素。 -
即使我的代码如下所示: 我得到同样的错误
-
在你的名字中使用 - 而不是空格。
标签: javascript asp.net-mvc-3 firefox onclick html-table