簡體   English   中英

如何檢查html表單中的必填字段是否已填寫?

[英]How do I check if the required fields in an html form are filled?

我在php中有一個帶有html表單的提交頁面,該頁面指向同一頁面。 我希望能夠檢查表單中的必填字段是否未填寫,以便通知用戶。 我想知道如何分別使用php和javascript。 但是,我認為這是一個常見問題,因此歡迎您提供其他答案。

做檢查在發布您的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;">
}

值得一提的是,一旦您了解了如何用Riho和annakata的答案在PHP和JavaScript中完成操作,然后構建了一種定義字段約束的方式,該字段約束可以呈現為JavaScript進行客戶端驗證並可以在客戶端上運行服務器。

由於您需要兩者(為了方便用戶,所以需要客戶端,因為現在我們實際上已經遠遠超過了信任客戶端),因此從單個基礎結構中同時支持這兩者似乎是一個不錯的主意。

就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

*這是在教你釣魚計划

LiveValidation庫將為您提供很多幫助: http : //www.livevalidation.com/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM