javascript - 为什么这段 JavaScript 代码没有按预期工作?

标签 javascript

这个微小的 JavaScript 和一些 CSS 应该可以通过在点击提交后卡住屏幕来防止重复输入数据库。

到目前为止,在使用该应用提交条目的 200 多人中,有 6 人成功提交了重复的条目。

我们怀疑较旧的浏览器可能对重复条目负责。

我们仍在调查中。

这个假设是否正确?

如果是,有没有办法改进此代码以在所有浏览器上工作?

我想保留这个代码,而不是去寻找另一个,因为它的外观和感觉令人愉快,但对更好的东西持开放态度。

<script type="text/JavaScript">
    function FreezeScreen(msg) {
        scroll(0, 0);
        var outerPane = document.getElementById('FreezePane');
        var innerPane = document.getElementById('InnerFreezePane');
        if (outerPane) outerPane.className = 'FreezePaneOn';
        if (innerPane) innerPane.innerHTML = msg;
    }
</script>

--CSS

<style type="text/css">
   .FreezePaneOff
   {
      visibility: hidden;
      display: none;
      position: absolute;
      top: -100px;
      left: -100px;
   }

   .FreezePaneOn
   {
      position: absolute;
      top: 0px;
      left: 0px;
      visibility: visible;
      display: block;
      width: 100%;
      height: 100%;
      background-color: #666;
      z-index: 999;
      filter:alpha(opacity=85);
      -moz-opacity:0.85;
      padding-top: 20%;
   }

   .InnerFreezePane
   {
      text-align: center;
      width: 66%;
      background-color: #171;
      color: White;
      font-size: large;
      border: dashed 2px #111;
      padding: 9px;
   }
</style>

******更新******

我在这里发布我的回复,因为那东西不允许我添加带有愚蠢消息的评论,即每 5 秒只允许 1 条评论,并且自上次添加评论以来已经 10 分钟了。

非常感谢@PPvG 和@Random。我是否需要你们中的一个人的脚本(更可能是@Random,因为我不明白@PPvG 的意思是//...做你提交的东西...)但是我是否需要使用你们中的一个人的 js除了我目前使用的那个?另外,asp.net 是否允许表单 action="~"...?

最佳答案

这些都不会真正阻止页面提交。如果页面已经提交,为什么不拦截页面的on_submit Action 并在那里取消呢?

<form action="~" onSubmit="return CheckSubmitted();">
    .......
</form>

<script type="text/javascript">
var submitted = false;

function CheckSubmitted()
{
    if (submitted == true) { return false; }
    else { submitted = true; return true; }
}
</script>

关于javascript - 为什么这段 JavaScript 代码没有按预期工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7755571/

相关文章:

javascript - 禁用 Esc 键以关闭 jQuery Mobile 上的面板

javascript - JQuery 在链接的静态页面中搜索,并在不破坏列表的情况下突出显示找到的单词

javascript - 如何在 JavaScript 中添加 'for' 循环的结果?

javascript - box2d world.ClearForces() 有什么意义?

javascript - 在 Javascript Infovis Toolkit 树形图中显示特定深度的标签

javascript - Alfresco - 如何创建使用存储库 Web 脚本的共享 Web 脚本?

javascript - 960.gs 网格系统的替代品?

javascript - 如何聚焦多个文本框并滚动到它

JavaScript 翻译模板

javascript - jQuery Mobile 多重过滤方法 - 文本/输入和选择/下拉菜单