所以我有一個窗體,用戶可以看到6個字段中的2個。用戶然後可以點擊一個按鈕來顯示其他字段。如何使用PHP檢測元素是否可見?
每個字段使用以下PHP驗證(注:的preg_match是有,以確保他們已經進入了一個空間,因爲它是一個全名稱字段):
$multipleFormErrors = array();
if (!isset($firstGuestName) || empty($firstGuestName) || !preg_match("/ /",
$firstGuestName)) {
$multipleFormErrors["firstGuestName"] = "You have not entered your full name.";
}
if (!isset($secondGuestName) || empty($secondGuestName) || !preg_match("/ /",
$secondGuestName)) {
$multipleFormErrors["secondGuestName"] = "You have not entered guest #2's full
name.";
}
if (!isset($thirdGuestName) || empty($thirdGuestName) || !preg_match("/ /",
$thirdGuestName)) {
$multipleFormErrors["thirdGuestName"] = "You have not entered guest #3's full name.";
}
依此類推,直到客人# 6。
然後將結果被回顯到使用用戶:
if (isset($_POST["multipleSubmit"])) {
if ($multipleFormErrors) {
echo "<div class=\"errors\">";
echo "Please fix the following errors:";
echo "<ul>";
foreach ($multipleFormErrors as $error) {
echo "<li>";
echo $error;
echo "</li>";
}
echo "</ul>";
echo "</div>";
}
}
的這裏的問題是,所有的錯誤顯示,即使旅客3 - 6是對用戶不可見的。因此,如果他們提交的表格只有最初的2位嘉賓填寫完畢,他們會得到一個錯誤,因爲嘉賓3 - 6的值爲空字符串。我想一個解決這個問題的方法是讓PHP檢測顯示值是否設置爲像在JS中那樣可以阻止,所以這是可能的還是我需要做一些不同的事情?
乾杯!
你的PHP沒有「可見」的概念。該頁面位於用戶的瀏覽器中,與您的PHP生成的HTML無關。 –