我在Firefox,IE和Chrome中尝试过,并且使用以下代码,我的所有警报都没有触发。在页面加载或单击图像时。我对JavaScript非常陌生,但我非常欣赏它对用户体验的强大功能。我真的想更好地学习它,希望你们中的一个人能够帮助我理解为什么这不起作用......我将包括完整的HTML,因为我听说JScript在来的时候会非常挑剔选择器和DOM对象。我也不知道如何在javascript中正确抛出错误...... :(
<html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
function preview(img, selection) {
alert("firedTwo");
}
$(document).ready(function () {
alert("firedThree");
});
$(window).load(function () {
alert("fired");
});
</script>
<link href="../css/style.css" rel="stylesheet" type="text/css" />
<link href="../css/profile.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="favicon.ico" >
<link rel="apple-touch-icon" href="apple-touch-icon.png" >
<title>CityGuru.ca - Saskatoon: Profile Editor</title>
</head>
<body>
<h1>Profile Picture Upload</h1>
<div id="subHeader">Upload Picture</div>
<div id="subContainer">
<h2>Create Thumbnail</h2>
<div align="center">
<img src="../images/users/saskatoon/1/photo.jpg" style="float: left; margin-right: 10px;" id="thumbnail" alt="Create Thumbnail" />
<div style="border:1px #e5e5e5 solid; float:left; position:relative; overflow:hidden; width:60px; height:60px;">
<img src="../images/users/saskatoon/1/photo.jpg" style="position: relative;" alt="Thumbnail Preview" />
</div>
<br style="clear:both;"/>
<form name="thumbnail" action="http://saskatoon.CityGuru.ca/includes/profileEditor.php?action=picUpload" method="post">
<input type="hidden" name="x1" value="" id="x1" />
<input type="hidden" name="y1" value="" id="y1" />
<input type="hidden" name="x2" value="" id="x2" />
<input type="hidden" name="y2" value="" id="y2" />
<input type="hidden" name="w" value="" id="w" />
<input type="hidden" name="h" value="" id="h" />
<input type="submit" name="upload_thumbnail" value="Save Thumbnail" id="save_thumb" />
</form>
</div>
<hr />
<h2>Upload Photo</h2>
<form name="photo" enctype="multipart/form-data" action="http://saskatoon.CityGuru.ca/includes/profileEditor.php?action=picUpload" method="post">
Photo <input type="file" name="image" size="30" /> <input type="submit" name="upload" value="Upload" />
</form>
</div>
</body>
</html>
注意 的
使用FireFox的Web控制台时,我得到的唯一JS错误是$ is not defined
答案 0 :(得分:1)
在head部分的script标签中添加此http://code.jquery.com/jquery-latest.js,上面的代码中没有jquery,所以$(document.ready(function()不工作
答案 1 :(得分:1)
$()语法是jQuery,而不是本机javascript。 (尽管其他一些库也使用相同的语法)。你需要包含jQuery才能工作。
答案 2 :(得分:1)
尝试做这样的事情:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function preview(img, selection) {
alert("firedTwo");
}
...
</head>
需要注意的重要事项:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
答案 3 :(得分:0)
首先,像这样的脚本通常会出现在脑海中。
其次,你不应该把JavaScript放在doctype之前。
第三,我看不到你的开头标签,只看到结束标签。
最后,您需要在头部的某处包含一个jquery脚本。