2016-10-02 64 views
0

我在同一个HTML文件中有两种形式。如何在使用jQuery提交表单之后保持粘性

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

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

$('.toggling').toggle(); 

,工作正常,但问题是,当用户提交即使用户登记表(#register)的形式,我的形式之间切换后提交会回到(#登录)与注册过程相关的错误消息。

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

现在的问题是,是否有任何方法来检测并保持让我说#register之后,我明显提交表单,而我提交登录时没有问题,因为切换前的主要形式是#login所以我只需要留在#register如果活动窗体是#register并在那里显示错误。

回答

0

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

<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)提交后,将返回(#登录)与注册过程有关的错误消息。

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

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

+0

感谢您的超快速响应此解决方案正在工作,但我用一个会话变量来确定FormType,然后取消它的视图。使用会话有什么问题吗? –

+0

简单的请求可以处理它时为什么会变得复杂。创建会话并操作它意味着服务器上的额外负载。这取决于你如何处理事情。 – Samundra