Как я могу получить радиокнопку в форме, чтобы «вызвать» поле наблюдения? - PullRequest
0 голосов
/ 14 марта 2020

Таким образом, форма должна выглядеть следующим образом:

Еда: O Фрукты O Овощи OI не знаю.

Выбор «Я не знаю» должен вызвать следующий вопрос, так что теперь появляется форма:

Еда: O Фрукты O Овощи * Я не знаю. Ну, тебе нравятся O яблоки и бананы или тебе нравится O горох и морковь?

Если пользователь выбирает «яблоки и бананы», тогда выбирается «фрукты». Если пользователь выбирает «горох и морковь», то выбирается «овощи».

Файл «лайков. html» ...

<html>
 <body>

  <form method="post" action="food.php">
     Food<br>
   <input type="radio" name="food" value="fruits">Fruits
   <input type="radio" name="food" value="vegetables">Vegetables
   <input type="radio" name="food" value="dontknow">I don't know<br>
   <input type="submit" name="submit">
  </form>

 </body>

</html>

и «еда». php "файл ...

<html>
 <body>

  <?php

   $food = ""; $foodErr = "";

    if ($_SERVER['REQUEST_METHOD'] === 'POST')
    if (empty($_POST["food"])) {
      $foodErr = "* food choice is required";
     }

  ?>

  <form method="post" action="<?php echo
    htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    Food <span class="error"><?php if (empty($_POST["food"])) echo    ($foodErr)        ?><br>
   <input type="radio" name="food" value="fruits" <?php if (isset($food) && $food === "fruits") echo "checked" ?>> Fruits
   <input type="radio" name="food" value="vegetables" <?php if (isset($food) &&   $food === "vegetables") echo "checked" ?>> Vegetables
   <input type="radio" name="food" value="dontknow" <?php if (isset($food) &&   $       $food === "dontknow") echo "checked" ?>> I don't know<br> 
  </form>
 </body>
</html>

1 Ответ

1 голос
/ 15 марта 2020

То, что вы объясняете, иногда называется условными полями в html формах. Есть много способов сделать это, но использование CSS и псевдокласс: checked может быть наиболее эффективным.

См. https://css-tricks.com/exposing-form-fields-radio-button-css/ для подробного объяснения и примера

...