我在第9行返回语法错误(IDE的屏幕截图:http://dl.dropbox.com/u/2578642/Error.png)。
我是完整的菜鸟,无法看到错误,无论如何,这是代码:
<input type = "image" id = "myImage" src = "One.jpg" height ="130" width="173" border="0" Alt="Submit Form" onclick="var fileref=document.createElement('script');fileref.setAttribute('type','text/javascript'); fileref.setAttribute('src', 'http://MYCONTENTLOCKER.com/guid?:1234567890'); showMessage(); setTimeout(changeImage, 30000)">
<br>
<span id = "message" style="display:none">You have completed this part!</span>
<script type = "text/javascript">
var count = 0;
function showMessage () {
if (count > 0) { // line 9
document.getElementById("message").style.display="block";
}
count ++;
}
function changeImage() {
document.getElementById("myImage").src = "Two.jpg"
}
</script>
感谢您的帮助!
答案 0 :(得分:2)
您发布的代码在语法上很好。我强烈建议您查看通过inline onclick
事件处理程序“动态”加载的脚本。
答案 1 :(得分:1)
您的JavaScript代码看起来很好,我看到的唯一可能导致问题的是HTML属性中=
之前和之后的空格。
<script type = "text/javascript">
应该是:
<script type="text/javascript">
所以,你的代码应该是这样的(我还建议缩进你的代码。让它更容易阅读):
<input type="image" id="myImage" src="One.jpg" height="130" width="173" border="0" Alt="Submit Form" onclick="var fileref=document.createElement('script');fileref.setAttribute('type','text/javascript'); fileref.setAttribute('src', 'http://MYCONTENTLOCKER.com/guid?:1234567890'); showMessage(); setTimeout(changeImage, 30000)">
<br>
<span id="message" style="display:none">You have completed this part!</span>
<script type="text/javascript">
var count = 0;
function showMessage () {
if (count > 0) {
document.getElementById("message").style.display="block";
}
count++;
}
function changeImage() {
document.getElementById("myImage").src = "Two.jpg"
}
</script>
我不确定这是不是问题,但这就是我能想到的。
答案 2 :(得分:0)
刚才意识到这是你的整个代码。你能申报一个有效的HTML文件吗?突出显示的这个应该是一个死的赠品。
答案 3 :(得分:-1)
好吧,对我来说似乎work fine。
那就是说,我唯一可能想到的错误就是该行上的>
以某种方式在提供页面之前作为HTML实体进行转义。您是否检查过“查看源代码”的输出确实与您编写的代码完全相同?
技术上script
元素和包含“特殊”字符的非CDATA内容的其他元素应包含CDATA部分中的内容。如果您的HTML代码在某个时刻通过XML解析器运行,它将会阻塞<
,>
和&
等字符。
使用脚本中的CDATA部分,并将标记写为正确的XHTML,代码看起来像这样:
<html><head></head><body>
<input type="image" id="myImage" src="One.jpg" height="130" width="173" border="0" Alt="Submit Form" onclick="imageClick()" />
<br />
<span id="message" style="display:none">You have completed this part!</span>
<script type="text/javascript">
/* <![CDATA[ */
var count = 0;
function showMessage () {
if (count++ > 0) {
document.getElementById("message").style.display="block";
}
}
function changeImage() {
document.getElementById("myImage").src = "Two.jpg"
}
function imageClick() {
var fileref = document.createElement('script');
fileref.setAttribute('type','text/javascript');
fileref.setAttribute('src', 'http://MYCONTENTLOCKER.com/guid?:1234567890');
showMessage();
setTimeout(changeImage, 30000);
}
/* ]]> */
</script>
</body></html>
更新:好的,我刚刚意识到您在IDE中收到错误,而不一定是在浏览器中。我不知道IDE是否抱怨未转义的三角支架,但我怀疑它可能是。我不知道它是否足够聪明地承认CDATA部分。我很好奇这是否会安抚它。无论如何,那是什么IDE?