2008-12-22 90 views
1

我有一個提交頁面在PHP中的HTML表單指向相同的頁面。我希望能夠檢查表單中的必填字段是否未填寫,以便我可以通知用戶。我想知道如何用php和javascript做到這一點。不過,我想這是一個常見問題,所以歡迎任何其他答案。如何檢查html表單中的必填字段是否已填充?

回答

2

做檢查在發佈你的PHP的一部分

if(isset($_POST['save'])) 
    { 
      $fields=array(); 
      $fields['Nimi'] = $_POST['name']; 
      $fields['Kool'] = $_POST['school']; 
      $fields['Aadress'] = $_POST['address']; 
      $fields['Telefon'] = $_POST['phone']; 
      $fields['Email'] = $_POST['email']; 

      foreach ($fields as $key => $val) 
      { if(trim($val)=='') 
       { $errmsg=$key." is not filled!"; 
        break; 
       } 
      } 
    } 

if($errmsg == '') 
{ //do your saving here 
    exit(); 
} 

if(!isset($_POST['save']) || $errmsg != '') 
{ //show your form here 
// and make it to return to the same page on submit 
//<input name="save" type="submit" value="Save" onclick="return true;"> 
} 
+0

是否有可能也做的foreach($ _ POST爲$ k => $ v)的? – bozdoz 2011-07-26 12:10:27

0

至於JS去,你必須檢查你提交之前。通常這涉及到將一些驗證函數綁定到表單的onsubmit事件觸發器,並且驗證函數將包含您感興趣的每個字段的一些測試。

大多數JS庫都有驗證實現,它們將爲您完成大部分工作,這聽起來像對您來說可能是一個好主意。谷歌搜索 「客戶端驗證」 將產生無窮的結果,但是這(我庫無關,閱讀和爲自己選擇)應該讓你開始*:

http://blog.jquery.com/2007/07/04/about-client-side-form-validation-and-frameworks/

http://tetlaw.id.au/view/blog/really-easy-field-validation-with-prototype/

http://dojotoolkit.org/book/dojo-book-0-4/part-4-more-widgets/forms/validation

*這是教你釣魚計劃

1

爲了額外的功勞,一旦你知道如何在Riho和annakata的答案中使用PHP和JavaScript做到這一點,然後構建一個以單一形式定義字段約束的方式,它們都可以呈現爲用於客戶端驗證並在服務器上運行的JavaScript。因爲你需要兩個(客戶端爲了用戶的方便,服務器端,因爲我們真的非常信任客戶端在這一點上),似乎是一個相當不錯的想法,支持從一個單一的基礎設施。