【问题标题】:Unrelated javascript executes when submit button is clicked单击提交按钮时执行不相关的 javascript
【发布时间】:2018-11-03 22:10:04
【问题描述】:

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

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

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

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

非常感谢。

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

【问题讨论】:

  • 请发布足够的代码让我们重现该行为,而不仅仅是了解您所描述的情况。
  • 我猜在您的代码中的其他地方,您正在将函数作为事件处理程序安装在某些元素上。内联事件属性不是在提交表单时执行函数的唯一方法。
  • 我正在寻找也可以调用此代码的其他地方;我会尽快发布更多。感谢您的回复。
  • 原来这个panel所在的区域(div)被设置为当用户点击div内任意位置时调用几个函数。单击此按钮时,我必须覆盖该行为。当我有解决方案时,我会回复;这可能是一个非常神秘的问题,但其他人将来可能需要答案。
  • return true代替event.stopPropagation()?

标签: javascript jquery


【解决方案1】:

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

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

【讨论】:

  • 是的,我对我的问题进行了编辑,并在上面发表了评论——我想我知道问题所在,我正在努力发布解决方案。
【解决方案2】:

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

我希望能澄清问题。谢谢。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多