我的项目在登录页面上有一个脚本,当单击某些按钮时,该脚本将重新定位页脚;当单击某些其他按钮时,另一个脚本会将其重新定位到其原始起点。
下级页面(而不是登录页面)上的脚本提交要上传的文件,然后单击该按钮,将调用将其定位回其原始起点(RestoreFooter)的代码。
我认为单击提交按钮会导致页面重新加载,并且可能导致页脚重新定位到起点,但这并不是问题所在(据我所知)。
以下是重新定位页脚的脚本,以及将其重新设置为起点的脚本:
<script>
function MoveFooter() {
document.getElementById("footer_x").style.visibility = "hidden";
document.getElementById("footer_y").style.visibility = "visible"; }
</script>
<script>
function RestoreFooter() {
console.log("here_RF");
document.getElementById("footer_y").style.visibility = "hidden";
document.getElementById("footer_x").style.visibility = "visible";}
</script>
这是按钮脚本:
它没有执行上述两个功能中的任何一个的调用,但是它确实调用了RestoreFooter -我知道,因为当单击提交按钮时console.log函数确实记录了“ here_RF”
<div class="upload_text" style="margin-left: 10%;">
<button class="btn" id="submit_btn" type="submit" value="Submit" onsubmit="submit_btn.disabled = true; return true;">Create extension</button></div>
我还尝试将其设置为普通按钮,而不是提交按钮,但仍然存在相同的问题:
<div class="upload_text" style="margin-left: 10%;">
<button class="btn" id="submit_btn">Create extension</button></div>
是什么原因导致这种奇怪的表现?
这是一个相当大的项目,所以我已经发布了足够的代码来理解问题。如果需要更多代码,我将发布更多。
非常感谢。
编辑:我在下面对这个问题的可能根源发表了评论。我稍后再回发。
答案 0 :(得分:0)
有关该代码的信息不足,您应该发布更多详细信息。
建议逐行将调试器添加到Step到处理程序函数中。 我想其他地方的代码可能会覆盖处理程序。
答案 1 :(得分:0)
正如我在上面的编辑中提到的那样,按钮位于div中,并且div中有一个处理程序,当用户单击div区域内的任意位置时,该处理程序将调用函数以对DOM进行某些更改。像我的按钮一样传播到孩子们。我通过消除单击区域(div)时触发的功能解决了该问题。如果在某些情况下需要该功能,而在其他情况下则不需要,则需要指定应调用该功能的所有位置。
我希望这可以澄清问题。谢谢。