2014-11-05 4 views
0

У меня есть страница с iframe. Внутри iframe он отобразит все вопросы в нескольких вариантах. Проблема в том, что я не знаю, как получить все значения проверенных переключателей внутри iframe. Кнопка находится на родительской странице (я еще не включил ее).Как получить значения проверенного переключателя в iframe

Это захват экрана моей страницы (questions.php):

Webpage

Это мой IFrame код из questions.php:

<div class="question-display test"> 
    <iframe src="questions/frame.php" height="500px" width="100%"> 

    </iframe> 
</div> 

Это мой frame.php (с отображением всех вопросов)

<?php 
       include('config.php'); 
       $view_questions=mysql_query("SELECT * FROM questions ORDER BY RAND()"); 
       $count=mysql_num_rows($view_questions); 
        $i=1; 
        while($row=mysql_fetch_array($view_questions)) 
        { 

       ?> 
     <div class="questions-contents text-size test" style="margin-left: 10px;"> 
      <p align="justify"><strong><?php echo $i;?>.)</strong> <?php echo $row['QUESTION'];?></p> 
     </div> 


     <div class="answer-indent" style="margin-left: 40px; margin-bottom: 20px;">  
      <label class="radio"> 
       <input type="radio" name="<?php echo $row['QUESTION_NO'];?>" value="1" data-toggle="radio"> 
       <class="color" style="color: gray;"><?php echo $row['ANSWER_1'];?></class="color"> 
      </label> 

      <label class="radio"> 
       <input type="radio" name="<?php echo $row['QUESTION_NO'];?>" value="2" data-toggle="radio"> 
       <class="color" style="color: gray;"><?php echo $row['ANSWER_2'];?></class="color"> 
      </label> 
      <label class="radio"> 
       <input type="radio" name="<?php echo $row['QUESTION_NO'];?>" value="3" data-toggle="radio"> 
       <class="color" style="color: gray;"><?php echo $row['ANSWER_3'];?></class="color"> 
      </label> 

      <label class="radio"> 
       <input type="radio" name="<?php echo $row['QUESTION_NO'];?>" value="4" data-toggle="radio"> 
       <class="color" style="color: gray;"><?php echo $row['ANSWER_4'];?></class="color"> 
      </label> 

      <label class="radio" style="display: none;" > 
       <input type="radio" name="<?php echo $row['QUESTION_NO'];?>" value="5" data-toggle="radio" checked> 

      </label> 
     </div> 
      <?php 
        $i++; } 
      ?> 

Прежде чем сделать свой frame.php вставлен в iframe с страницы questions.php, у меня есть php коды для проверки ответов пользователей (проверенные переключатели).

$questions = mysql_query("SELECT * FROM questions"); 
while($row=mysql_fetch_assoc($questions)){ 
    if($_POST[$row['QUESTION_NO']]==$row["ANSWER"]) 
    { 
     $score++; 
    } 
    elseif($_POST[$row['QUESTION_NO']]==5) 
    { 
     $unanswered++; 
    } 
    else 
    { 
     $wrong_score++; 
    } 
} 

Пожалуйста, помогите мне, я делаю это со вчерашнего дня, но я не понял. Я не знаю, как это сделать.

+0

Что причина в том числе формы с помощью фрейма? –

+0

для наличия полосы прокрутки, чтобы предотвратить длинную страницу (на высоте страницы). – Ejardy

+2

вы можете сделать это с помощью контейнера div и установить переполнение через CSS.причина, почему я говорю это b/c, я не думаю, что можно использовать данные формы из iframe (хотя я мог ошибаться). Пример: http://jsfiddle.net/ankpbwk9/ –

ответ

1

Вы можете указать идентификатор вашего iframe и получить доступ к его элементам.

document.getElementById('frameid').contentWindow.document.getElementById('abc')

Где abc является вашей кнопки радио элемент.

Тогда вы можете делать все, что хотите, с помощью элемента.

Но если серьезно, вы можете сделать то же самое в Div и с надлежащим css.

+0

Благодарим вас за ответ. Вы видели мои php-коды для проверки проверенных переключателей? Будет ли это полезно/работать в моем iframe? – Ejardy

0

форма IFrame действие должно быть IFrame родительского URL

<form action="parenturl.php" method="POST"> 

Когда вы не добавить атрибут действия к вашему элементу формы действия по умолчанию будет быть представившей форму текущей страницы с помощью метода GET, так когда вы пытаетесь показать данные о столбцах в родительском объекте, ничего не показывать, потому что данные были отправлены в файл iframe, а не в родительский.

поэтому убедитесь, что вы определили метод и и действие.

0

Я думаю, что вы должны указать одинаковое имя для всех флажков. И вы можете выделить вопрос №. их идентификатор

Так форма будет

<div class="answer-indent" style="margin-left: 40px; margin-bottom: 20px;">  
       <label class="radio"> 
        <input type="radio" name="question" id="<?php echo $row['QUESTION_NO'];?>" value="1" data-toggle="radio"> 
        <class="color" style="color: gray;"><?php echo $row['ANSWER_1'];?></class="color"> 
       </label> 

<label class="radio"> 
       <input type="radio" name="question" id="<?php echo $row['QUESTION_NO'];?>" value="2" data-toggle="radio"> 
       <class="color" style="color: gray;"><?php echo $row['ANSWER_2'];?></class="color"> 
      </label> 
    . 
    . 
    . 
    . 
    </div> 

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

<?php 

$values = $_POST['question']; 

// optional 

foreach ($values as $selected){ 
echo $selected."<br />"; 

} 


?> 

Пожалуйста, попробуйте это

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