2016-10-02 67 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