2012-04-08 3 views
0

У меня есть jsfiddle here. Что он делает, так это то, что когда пользователь нажимает кнопку «Добавить вопрос», он добавляет переключатели в каждую строку. Но я хочу использовать $ _POST для размещения выбранных переключателей в каждой строке на странице insertQuestions.php (действие, которое использует форма).Как опубликовать отмеченные переключатели

Так что я хочу знать, как написать инструкцию $ _POST, чтобы вставлять проверенные переключатели?

UPDATE:

Является ли этот код ниже правильно с точки зрения нахождения ReplyId для выбранного радио с помощью г о случай, то запрос:

$i = 0; 
$c = count($_POST['reply']); 

$insertquestion = array(); 

for($i = 0; $i < $c; $i++){ 

    switch ($_POST['reply'][$i]){ 

    case "Single": 
    $selected_option = "Single"; 
    break; 

    case "Multiple": 
    $selected_option = "Multiple"; 
    break; 

    default: 
    $selected_option = ""; 
    break; 

    }  


    $replyquery = "SELECT ReplyId FROM Reply WHERE (ReplyType = '". mysql_real_escape_string($_POST['reply'])."')"; 
    $replyrs = mysql_query($replyquery); 
    $replyrecord = mysql_fetch_array($replyrs); 
    $replyid = $replyrecord['ReplyId']; 
+0

ли вы имеете в виду, что у вас есть страница процесса, и вы хотите отправить выбор пользователя на эту страницу процесса с помощью $ _POST? php - это сценарий на стороне сервера, который он не может этого сделать, вам придется использовать метод post ajax или jQuery. – anuragsn7

+0

@ anuragsn7 Нет, я не говорю, что у Ialready есть AJAX и все, что настроено, все, что я хочу знать, это то, что является правильным атрибутом имени для $ _POST проверенной радиокнопки i.e $ _POST [...]? – user1304328

+0

@ user1304328 Как и любой вход формы, вы сопоставляете индекс '$ _POST' с атрибутом' name = "" '. – Umbrella

ответ

1

Все, что вам нужно сделать, это при запуске ваш сценарий AJAX. На странице процесса вы бы использовать что-то вроде

<?PHP 
$reply1 = $_POST['reply1']; 
$reply2 = $_POST['reply2']; 

однако вы хотите, чтобы изменить название полей ввода в name="reply[]" которые сделают Отправленные данные массив

UPDATE: Предыдущий является только для флажков в этом случае (их нет). С флажками с тем же именем установлен флажок 1, а затем установлен флажок 2, вы получите только значение флажка 2 в сообщении.

Поскольку ответ - это имя с номером после повторных вопросов, вы всегда можете получить все опубликованные переменные, просто используя $_POST. Делая это даст вам массив всех данных

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

foreach($_POST as $k=>$v) { 
    //Run script to process each posted reply 
} 
+0

, когда вы сказали, что put name как [] массив, это только для радиокнопки в форме или для добавленных переключателей? – user1304328

+0

Мне жаль .. этот метод применим только к флажкам. Если у вас есть несколько флажков с одинаковым именем, вы захотите сделать его массивом. Если вы этого не сделаете, флажки будут перезаписаны ранее проверенными. У вас все в порядке, потому что вы используете другое имя для каждого набора вопросов (ответ, ответ1, ответ2 и т. Д.) – bretterer

+0

, поэтому я просто $ _POST ['reply']? – user1304328

Смежные вопросы