【问题标题】:cancel form submission when a button is clicked单击按钮时取消表单提交
【发布时间】:2011-12-28 10:38:01
【问题描述】:

我有一个登录表单。毫无疑问,它接受用户名/密码。我有 2 个按钮,提交按钮和取消按钮。 我想要做的是当用户点击提交按钮时,登录请求开始处理。用户可以看到登录屏幕 8-10 秒。当他点击取消按钮时,应该允许他取消表单提交(取消登录)。

请告诉我该怎么做。我知道可以有一个js函数,但我还没有遇到过。提前非常感谢!

【问题讨论】:

  • 这取决于等待是如何发生的,如果延迟是在已经发送到服务器并等待处理的请求中,那么我认为这是不可能的。
  • 你在做什么需要 8-10 秒?这听起来不像一个正常的登录过程。在实际提交数据之前是否有客户端等待?

标签: javascript jquery html forms


【解决方案1】:

当用户发送登录请求时,请求和身份验证必须由一些服务器端脚本来处理,例如 php。因此,在取消按钮上放置一个指向另一个服务器端脚本的链接。此脚本应尝试注销用户。如果他已经登录,他将注销以便取消工作。在其他情况下,如果他没有发生任何事情,则脚本将无所事事。

【讨论】:

    【解决方案2】:

    你试过了吗:

    function cancel () {
        document.execCommand('Stop')
    }
    
    <input type = "button" name="cancel" value = "cancel" onclick = "cancel()" />
    

    【讨论】:

      【解决方案3】:

      这是一个简单的示例,您可以创建自己的 html代码

      <form name="f1" action="test.jsp" method="get">
          username:<input type="text" name="username">
          password:<input type="password" name='password'>
          <input id="sub" type="submit" name="subm" value="subm">
          <input id="reset" type="button" name="reset" value="reset">
      </form>
      

      和jquery代码

      $(document).ready(function() 
                  {
                      $('#sub').click(function(){
                                  $('form [name="f1"]').submit();
      
                              });
                      $('#reset').click(function(){                           
                                  $('input[name="username"]').val('');
                                  $('input[name="password"]').val('');
      
                              });
                });
      

      这只是一个参考,您可以根据您的要求进行相应的修改和创建

      【讨论】:

      • 这就是重置按钮的作用。我们不需要为此编写任何 javascript。
      【解决方案4】:

      我的建议:

      1. “取消”按钮一开始是隐藏的。

      2. 单击“登录”按钮时,发送登录请求,隐藏或禁用“登录”按钮,并显示“取消”按钮。然后为正常的登录过程设置一个默认处理程序:

        $.post('login', params, function(){handler.loginCallback()});

      3. 单击“取消”按钮时,将处理程序替换为另一个过程:

        handler.loginCallback = function() { ... }

        如果登录失败,什么也不做;如果登录成功,发送另一个注销请求。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-23
        • 1970-01-01
        • 2020-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-07
        相关资源
        最近更新 更多