2014-02-12 30 views
1

我有一個模式框,它有一個PHP窗體。提交表單後,它會關閉模式框並重定向回頁面。如果出現錯誤,我希望模態框保持打開狀態。PHP聯繫表格模式框不要關閉錯誤

如果模式框在成功提交時關閉,這是可以的,因爲它會重定向到我的成功網址。如果表單上有錯誤,這只是一個問題。我使用php來檢查是否有空白字段並使用內置的電子郵件驗證器。

另外值得一提的是,如果窗體上有錯誤,並且它關閉了模式框,如果您打開它備份,您會看到錯誤,因爲它沒有成功提交。

我用這對我的表單操作

<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post"> 

如果必要的話,我可以發佈更多的代碼。

是否有任何可能會對此產生影響的簡單解決方案?

+0

「我有一個模態框,它上面有一個PHP表單」。該表格不是PHP,而是HTML。 PHP是服務器端。你可以嘗試使用ajax – RobinvdA

+0

足夠公平的你是正確的形式是HTML但它發佈到PHP,我會考慮使用ajax。 – Travis

回答

0

要做到這一點,你可以使用AJAX ...

Tutorial

0

我使用PHP來檢查,看是否有空白字段,並使用內置的電子郵件驗證。

儘管在服務器上執行驗證是很好的,但您應該在客戶端處理驗證。使用JavaScript來驗證,所以你不要擊中服務器,你的模態屏幕將不會關閉。

+0

我知道這個時候有人會說這不是超級關心 – Travis

2

你可以做客戶端(JavaScript/Jquery)驗證。這可以通過在表單元素上使用onSubmit='return validateMyForm()'來完成。

但是,它有良好的服務器端驗證,所以使用AJAX。

不要提交表單,使用<input type="button">代替<input type="submit">

提交使用.post的$或者$不用彷徨或$就您的形式,讓PHP錯誤,因爲在模式對話框

回報,並顯示錯誤
+0

現在我們正在用煤氣做飯!我希望我對javascript/ajax更熟悉,但我認爲你讓我走向正確的道路! – Travis

+0

放入您的代碼片段,我可以幫助您在JavaScript/AJAX中 – prakash