【发布时间】: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