没有属性“onLoad”

时间:2011-12-20 08:51:05

标签: html validation

即使我拥有正确的doctype,也可以告诉我为什么我在验证时会出现错误

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!-- TemplateBeginEditable name="doctitle" -->
<title></title>
<!-- TemplateEndEditable -->
<!-- TemplateBeginEditable name="head" -->
<meta name="keywords" content="" />
<meta name="description" content="" />
<!-- TemplateEndEditable -->
<link href="../style.css" rel="stylesheet" type="text/css" />
<script src="../Scripts/AC_RunActiveContent.js" type="text/javascript"></script>

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
    swfobject.registerObject("flashBanner", "9.0.0");
</script>
</head>

<body onLoad="InitCaptcha()">

错误

第21行,第14栏:没有属性“onLoad”

您在文档中使用了上面提到的属性,但您使用的文档类型不支持该元素的该属性。此错误通常是由于“Strict”文档类型与使用框架的文档的错误使用(例如,您必须使用“Transitional”文档类型来获取“target”属性)或使用供应商专有扩展(例如“ marginheight“(这通常通过使用CSS来实现所需效果来修复)。

如果您正在使用的文档类型不支持元素本身,也可能导致此错误,因为未定义的元素将不具有受支持的属性;在这种情况下,请参阅element-undefined错误消息以获取更多信息。

如何修复:检查元素和属性的拼写和大小写,(记住XHTML全是小写的)和/或检查它们是否都在所选文档类型中允许,和/或使用CSS代替此属性。如果在使用元素将Flash媒体合并到网页中时收到此错误,请参阅有效闪存上的FAQ项。

3 个答案:

答案 0 :(得分:10)

您必须将正文中的 onLoad 属性更改为 onload ,因为XHTML区分大小写,并且只允许使用小写字母标记&amp;属性。

答案 1 :(得分:0)

由于您已经在使用jquery(可以关闭),您可以尝试使用javascript onload函数... http://www.w3schools.com/jsref/event_onload.asp

答案 2 :(得分:0)

我意识到问题已经得到解答,但我要补充说,混合你的XHTML和JavaScript并不是一个好主意(例如,使用onload事件属性)。

您可以使用 jQuery

$(document).ready(function() {
    InitCaptcha();
});

或者您可以使用事件监听器

<script type="text/javascript">
    window.addEventListener('load', function() {
        'use strict';
        InitCaptcha();
    }, false);
</script>