【问题标题】:how to stay sticky after form submit with jQuery toggle使用 jQuery 切换表单提交后如何保持粘性
【发布时间】:2017-02-10 13:38:33
【问题描述】:

我在同一个 HTML 文件中有两个表单。

<form id="#login" class="toggling">
</form>

<form id="#register" class="toggling">
</form>

我用

在我的表单之间切换
$('.toggling').toggle();

这工作正常,但问题是当用户提交表单时,即使用户在注册表单 (#register) 上提交后,它也会返回 (#login) 并显示与注册过程相关的错误消息。

我使用 php 作为后端,因此我将使用我的 error_report() 函数调用发送错误报告,但我有一个控制器 (PHP) 和一个视图 (HTML)。

现在的问题是,在我提交表单后,有什么方法可以检测并留在#register如果活动表单是 #register 则注册并在其中显示错误。

【问题讨论】:

    标签: jquery forms validation error-handling


    【解决方案1】:

    您可以使用隐藏的输入字段来识别向您发送请求的表单。例如

    <form id="#login" class="toggling">
        <input type="hidden" name="form_type" value="login" />
    </form>
    
    <form id="#register" class="toggling">
         <input type="hidden" name="form_type" value="register" />
    </form>
    

    在 PHP 方面,您知道类型并将此信息发送回视图。所以$formType变量将用于标识需要显示错误信息的表单。

    这工作正常,但问题是当用户提交表单时,即使用户在注册表单 (#register) 上提交后,它也会返回 (#login) 并显示与注册过程相关的错误消息。

    要回答这个问题,我们还需要知道您是如何提交表单以及如何在 PHP 服务器端处理它的。

    让我们知道这是否对您有帮助。如果您仍然感到困惑,请通过向我们展示您如何提交表单以及如何在 PHP 中处理它来更新您的问题。

    【讨论】:

    • 感谢超快速响应,此解决方案正在运行,但我使用会话变量来确定 FormType,然后在视图中取消设置。使用会话有什么问题吗?
    • 当简单的请求可以处理时,为什么要把事情复杂化。创建会话并对其进行操作意味着服务器上的额外负载。这取决于你如何处理这些事情。
    猜你喜欢
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    • 2015-04-23
    • 2019-01-17
    相关资源
    最近更新 更多