Наличие разных действий для каждого переключателя в форме

0

Мне было интересно, можно ли сделать каждый переключатель в виде ссылки на другую страницу php действий? скажем, если бы у меня было 2 переключателя, один из которых назывался "баскетбол", а один - "футбол", я мог бы связать их с разными php? вот мой код;

<form action="football.php" method="post">
<p>Please select your first Sport:</p>
<input type="radio" name="sport" value="football">Football<br></input>
<input type="radio" name="sport" value="basketball">Basketball<br></input>
<input type="radio" name="sport" value="tennis">Tennis</input>
<br><input type="Submit" name="Submit" value="Submit"></form>
  • 0
    Вы можете использовать javascript, чтобы изменить действие формы, основываясь на выбранном переключателе.
  • 4
    Прежде чем кто-то ответит, что не так с использованием реальных ссылок? Или вы спрашиваете: «Как мне использовать форму, чтобы направить пользователя на страницу на основе того, что он выбрал?»
Показать ещё 4 комментария
Теги:
forms
action
radio

1 ответ

1
Лучший ответ

Есть ли причина, по которой они должны быть разными страницами?

form.php

<form action="sport.php" method="post">
<p>Please select your first Sport:</p>
<input type="radio" name="sport" value="football">Football<br></input>
<input type="radio" name="sport" value="basketball">Basketball<br></input>
<input type="radio" name="sport" value="tennis">Tennis</input>
<br><input type="Submit" name="Submit" value="Submit"></form>

sport.php

<?php
    if (isset($_POST["sport"])
    && $_POST["sport"] == "football") {
        //logic specific for football
    } else if (isset($_POST["sport"])
    && $_POST["sport"] == "basketball") {
        //logic specific for basketball
    } else if (isset($_POST["sport"])
    && $_POST["sport"] == "tennis") {
        //logic specific for tennis
    } else {
        //die or some kind of error handling can be done
    }
?>

Если им абсолютно нужно быть разными страницами, вы можете сделать что-то вроде ниже:

sport.php

<?php
    echo "<meta http-equiv='refresh' content='0;url=./dir/subdir/".$_POST["sport"].".php'/>";
    //so if posted form data == football, redirect to football.php, etc
?>

Уверен, что у него нет изящества, но вы не сможете получить желаемый результат в противном случае, если вы не используете jQuery/JS.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню