单击提交按钮时执行不相关的javascript

时间:2018-11-03 22:10:05

标签: javascript jquery

我的项目在登录页面上有一个脚本,当单击某些按钮时,该脚本将重新定位页脚;当单击某些其他按钮时,另一个脚本会将其重新定位到其原始起点。

下级页面(而不是登录页面)上的脚本提交要上传的文件,然后单击该按钮,将调用将其定位回其原始起点(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>

是什么原因导致这种奇怪的表现?

这是一个相当大的项目,所以我已经发布了足够的代码来理解问题。如果需要更多代码,我将发布更多。

非常感谢。

编辑:我在下面对这个问题的可能根源发表了评论。我稍后再回发。

2 个答案:

答案 0 :(得分:0)

有关该代码的信息不足,您应该发布更多详细信息。

建议逐行将调试器添加到Step到处理程序函数中。 我想其他地方的代码可能会覆盖处理程序。

答案 1 :(得分:0)

正如我在上面的编辑中提到的那样,按钮位于div中,并且div中有一个处理程序,当用户单击div区域内的任意位置时,该处理程序将调用函数以对DOM进行某些更改。像我的按钮一样传播到孩子们。我通过消除单击区域(div)时触发的功能解决了该问题。如果在某些情况下需要该功能,而在其他情况下则不需要,则需要指定应调用该功​​能的所有位置。

我希望这可以澄清问题。谢谢。