2013-10-29 49 views
0

不知道这是否有点模糊,但我正在努力研究客户端与服务器端之间的交互方式。我从一个练习开始,更好地理解点击事件,并意识到我不明白页面刷新的时间或方式。body onload函数重复

我有一些'span'标签。 span标签有一个'onclick',它们在被调用的函数中使用innerHTML在几个图像之间切换。我也有一个按钮,它会显示一个图像。

所有图像最初都在body标签中设置了一个onload函数。

显然发生的事情是,只要我点击一个范围或按钮,它就会联系服务器,导致它运行onload事件。我看到了一秒钟的图像,然后一切都回到了onload函数所说的内容。我试着把onload从body标签中取出,并用一个单独的按钮运行loadFunction()。基本上是一样的结果。当我点击它时,图像出现一瞬间并消失。我尝试了一个全局变量,它从零开始,在loadFunction()的末尾变为1,这允许在loadFunction()的开始处使用if语句。同样的问题 - 变量简单地重置为零,因为它是在我的javascript文件的顶部重新声明和设置全局变量。

对于整个服务器端客户端系统来说,我还没有学到明显的东西。如果有人认为他们知道那是什么,请让我知道。

三线调用函数:

<body onload="loadFunction();"> 
<span id = "showImage1" onClick="formSubmit1()">&nbsp;</span> 
<button class="link" onclick="checkSquares();">Highlight</button> 
+0

这就是你所说的所有客户端内容。你能不能把它放在一个jsFiddle中,所以我们可以看看这个行为? – Evan

+1

在这些函数中查看代码会很有帮助。我怀疑'formSubmit1()'导致表单提交,并且正在重新加载你的页面。 – 2013-10-29 03:31:04

+0

太棒了。我有我的按钮里面的形式标签。我已经将它们移除了。非常感谢迈克。 – acl77

回答

0

按钮标签将提交表单回服务器。跨越,不会,但'formSubmit'(我不清楚你想在这里发生什么,也许你想在页面重新加载时显示不同的图像?)。

如果您不想按钮提交到服务器,请改为使用<输入类型=按钮>。