[英]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.