2011-12-14 110 views
0

我創建了一個人們可以填寫的jQuery表單。完成後,他們可以單擊兩個按鈕之一將表單發佈到PHP文件。 PHP文件處理表單中的數據並將其放入數據庫中。數據庫然後有一些觸發器,並輸出數據。我應該使用兩個腳本還是一個?那麼`wordwrap()`怎麼樣?

我想知道的是,如果我應該提交到相同的PHP文件,而不管他們按哪個按鈕,只是在PHP文件內使用條件語句?或者,如果我使用不同的PHP文件,它很酷:每個按鈕一個?

我也在使用PHP wordwrap()函數和<br>作爲參數。我想知道是否應該使用CSS來換行,因爲它可能會導致在MySQL中處理數據表單時出現問題。

+2

如果按鈕改變了請求目標,您可以讓自己依賴Javascript。一個表單通常只能有一個action = URL。用一個簡單的`if($ _ REQUEST [「button1」])`處理它確實是標準的。但我想這是標籤jQuery這不是一個大問題? – mario 2011-12-14 05:08:04

+0

@Mario,你可以優雅地覆蓋默認的表單按鈕AND仍然安全地故障轉移,如果jQuery(和一般的Javascript)不可用。它只需要一些計劃和漸進增強技巧。 – bpeterson76 2011-12-14 05:46:16

回答

1

如果由兩個按鈕觸發的邏輯在很大程度上是相似的,那麼一個腳本是有意義的 - 你只需要特殊情況下的任何次要位在兩者之間不同。

如果兩條邏輯路徑基本不同,那麼使用兩個獨立的腳本可能更有意義。這個選擇由你。

至於wordwrap,一般你應該一直存儲數據的「原始」格式,並且只有在進行顯示檢索時才進行這種處理。如果數據將以多種輸出格式使用,尤其如此:純文本,html,pdf,excel等......每個都有自己的文字包裝規則/要求,並強制您的數據以html樣式的方式存儲在處理其他目標時,您只需撤消所有這些工作。

1

六,其中一半,其他方法。我個人逐漸增強了我的表單,將Ajax提交用於處理所有表單提交的「AjaxDispatcher」,但這完全是首選。

使用PHP,請考慮最糟糕的情況 - 如果有人通過或數據庫失敗獲取了一些不好的信息,我該如何告訴他們這個問題?這就是爲什麼我使用Ajax方法,通過內置的返回方法來輕鬆通知。它也可以做到服務器端,以避免ajax,它只是不那麼快,或者漂亮。

肯定不要忘記表單預處理,這通過jQuery變得更容易inline validation它使關於表單問題的更多用戶友好的反饋,並且不會「花費」在流程中的php命中。它不是服務器端驗證的替代品,而是一個很好的附加接觸。

我會質疑需要兩個按鈕。我爲在線應用程序做了UI開發,最近一個網站「口授」我們爲相對類似的路徑做了兩個按鈕,因爲營銷類型無法理解路徑的相似程度。它變成了一個巨大的混亂,在整個過程中出現了多種不同的「路徑」,這些過程只是將網站用戶的生活日光混淆在一起。不用擔心,它會導致必須編寫一個包含14種不同情況的測試例程(不要問!)根據您的情況,您可以從隱藏字段,答案組合或其他方法中繪製,以獲得只有一個簡單的輸入,這在用戶的宏偉計劃中更加用戶友好。它也使您更容易決定如何處理數據。

如果有疑問,請記住,UI的藝術只是使用戶感覺不熟悉的情況,儘管以前從未出現過。現在,您最近用兩種不同的方法填寫了多少表單並列?

我不會親自纏繞textarea。如果用戶開始調整您的textareas的大小,可能會產生一些意想不到的結果,就像現在大多數瀏覽器允許的那樣。考慮到它只是標記,HTML實際上處理比較優雅的包裝。

相關問題