Использование флажка и поля ввода для вставки в БД - PullRequest
0 голосов
/ 03 декабря 2011

У меня есть форма, подобная приведенной ниже:

 <input type="checkbox" name="type" value="wash"><label>Wash</label><br>
 <input type="checkbox" name="type" value="no wash"><label>No Wash</label><br>
        <label>Other (Specify)</label><br>
        <input name="type"><br>

Если вы заметили, что для всех трех я использую «тип» в качестве имени для ввода. Дело в том, что пользователю будут предоставлены две опции, если ни одна из этих двух опций не применима к ним, они должны ввести значение в другую. Теперь в базе данных у меня есть тип поля, поэтому, если они выбрали первые два и ввели значение в поле или если они только записали значение в поле, я все равно хочу, чтобы оно было частью поля типа. Так как я могу сделать так, чтобы, если они выбирают поле ввода, он также должен был вставить в «тип».

Ответы [ 2 ]

1 голос
/ 03 декабря 2011

Вы имеете в виду что-то подобное?

HTML:

<input type="checkbox" name="type[]" value="wash"/><label>Wash</label>
<input type="checkbox" name="type[]" value="no_wash"/><label>No wash</label>
Other type:
<input type="text" name="other_type"/>

PHP:

if (!empty($_REQUEST['other_type']))
    $_REQUEST['type'][] = $_REQUEST['other_type'];
var_dump($_REQUEST['type']);
1 голос
/ 03 декабря 2011

Прежде всего, вам лучше использовать переключатели вместо флажков.Тогда вы можете сделать следующее:

<input type="radio" name="type" value="wash"/><label>Wash</label>
<input type="radio" name="type" value="no_wash"/><label>No wash</label>
<input type="radio" name="type" value="other"/><label>Other</label>
<input type="text" name="other_type"/>

Ваш PHP будет выглядеть следующим образом:

if ($_REQUEST["type"] == "wash"){
    echo "Wash me please";
}else if ($_REQUEST["type"] == "no_wash"){
    echo "no wash";
}else if ($_REQUEST["type"] == "other"){
    echo "you want to ".$_REQUEST["other_type"];
}

Если вы используете JS, вы можете даже отключить текстовое поле, если пользователь не выберет третий вариант.


Редактировать: Если бы я правильно понял ваш комментарий, он был бы самым простым:

<input type="checkbox" name="wash_me"/><label>Wash your car?</label>
<input type="text" name="other"/><label>What else can we do for you?</label>

PHP

if (isset($_REQUEST["wash_me"]){
    echo "wash my car please";
}
if (strlen($_REQUEST["other"]) != 0){
    echo "and do the following: ".$_REQUEST["other"];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...