繁体   English   中英

Javascript语法错误-我是一个完全菜鸟,看不到它

[英]Javascript Syntax Error - I'm a complete noob and can't see it

在第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>

谢谢你的帮助!

您发布的代码在语法上还不错。 我强烈建议您查看通过inline onclick事件处理程序“动态”加载的脚本。

您的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>

我不确定这是否是问题,但这就是我能想到的。

刚刚意识到那是您的整个代码。 您能声明一个有效的HTML文件吗? 突出显示的本来应该是个死胡同。

好吧,这似乎对我来说很好

就是说,我唯一能想到的错误是,该行上的>是以某种方式在提供页面之前作为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?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM