Location.replase, Js и Radiobutton Value

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем bma, 15 май 2009.

Статус темы:
Закрыта.
  1. bma

    bma Гость

    Есть задача - блокировка возвращения на предидущую стр выполняемая Location.Replace и есть на форме страницы скрытые поля и радиокнопки.

    Суть трабла: при переходе не через Submit, а напрямую через JS (т.е. через Location.Replace) "теряются" данные с полей и Value радиокнопок. с полями проблему решил выведя данные $_SESSION, а вот как быть с данными с Value радиокнопок?


    Код (Text):
    <?php
    include "dbsettings.inc";
    include "protect.inc";
    if(isset($_GET["err"]))
    {    if($_GET["err"]==1)
    {print "Вы не имеете прав для просмотра этой таблицы!";}
    }

    $quer1="SELECT *FROM voprosotvet WHERE id=$massiv[$i]";
    $resul1=mysql_query($quer1) or die("Err:quer1");
    ?>
    <script LANGUAGE="JavaScript">
    function exit() {

    window.setTimeout("window.open('logout.php')",0)
    window.setTimeout("window.close()",0)
    }
    function main() {

    window.setTimeout("window.open('main.php')",0)
    window.setTimeout("window.close()",0)
    }
    function V5()
    {        
    location.replace("vopros_check.php");
    //Location.Replace заставляет браузер "забыть" предидущую стр. Т.е. не дает вернуться к предидущему вопросу
    }
    </script>
    <style type="text/css">
    BODY {
    background-color: dff4fa; /* Цвет фона веб-страницы */
    }
    </style>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Тестирование</title>
    <link href="style.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    <table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">

    <!--Подключаем шапку сайта-->
    <? include("header.php");  ?>
    <tr>
    <td><table width="690" border="0" cellspacing="0" cellpadding="0">
    <tr>

    <?php

    ?>

    <?

    if ($max==$i)
    {
    //вывод результатов
    display_result($T_vop,$F_vop,$massiv,$max,$i,$sUname,$vop_num);
    }
    if ($max>$i)
    {
    //вывод самого теста
    display_test($T_vop,$F_vop,$massiv,$max,$i,$sUname,$vop_num);
    }

    function display_result($T_vop,$F_vop,$massiv,$max,$i,$sUname,$vop_num)
    {
    //вывод результатов
    echo "<form action=main.php method=POST>
    <td><table width=800 border=0 cellspacing=0 cellpadding=0>

    <td><div id=coolmenu> <a href=java script:main()> Выход в главное меню</a> </div></td>
    <td><div id=coolmenu> <a href=java script:exit()> Выход</a> </div></td>
    </table></td>
    <table align=center width=800 border=0 cellspacing=0 cellpadding=0>
    <p align=center><strong>Результаты тестирования:</strong></p>
    <p align=center><strong>В ходе проверочного тестирования Вы совершили ошибок:</strong>$F_vop;</p>
    </table>
    </form>";
    }

    ?>
    <?php
    //вывод теста
    function display_test($T_vop,$F_vop,$massiv,$max,$i,$sUname,$vop_num)
    {
    $quer1="SELECT *FROM voprosotvet WHERE id=$massiv[$i]";
    $resul1=mysql_query($quer1) or die("Err:quer1");

    while($row=mysql_fetch_array($resul1))
    {
    echo "<form method=post name=formname1 action=vopros_check.php>

    <table align=center width=800 border=0 cellspacing=0 cellpadding=0>
    <p><strong>ID:</strong> $massiv[$i] <strong>Попыток:</strong> $F_vop <strong>Вопросов отвечено правильно:</strong> $T_vop; <strong>Вопросов отвечено не правильно:</strong> $F_vop; <strong>Имя тестируемого:</strong> $sUname;</p>

    <p align=center><strong>вопрос №: $vop_num </strong> <br> <label name=vopros rows=5 cols=70>$row[vopros]</p>
    <p align=center><strong>Выберете правильный ответ:</strong>
    <p align=center ><img border=1 src=Admin/DATA/images/$row[image_media_file]></p>

    <table align=center width=780 border=0 cellspacing=6 cellpadding=0>
    <tr>
    <td width=370> <label name=otvet1 rows=2 cols=60>$row[otvet1]</td><td width=10><input type='radio' name='votvet' value=1 onClick=sm.disabled=false;> </td>
    <td width=370> <label name=otvet2 rows=2 cols=60>$row[otvet2]</td><td width=10><input type='radio' name='votvet' value=2 onClick=sm.disabled=false;> </td>
    </tr><tr>
    <td> <label name=otvet3 rows=2 cols=60>$row[otvet3]</td><td><input type='radio' name='votvet' value=3 onClick=sm.disabled=false;> </td>
    <td> <label name=otvet4 rows=2 cols=60>$row[otvet4]</td><td><input type='radio' name='votvet' value=4 onClick=sm.disabled=false;> </td>
    </tr><tr>
    <td> <label name=otvet5 rows=2 cols=60>$row[otvet5]</td><td><input type='radio' name='votvet' value=5 onClick=sm.disabled=false;> </td>
    <td> <label name=otvet6 rows=2 cols=60>$row[otvet6]</td><td><input type='radio' name='votvet' value=6 onClick=sm.disabled=false;> </td>
    </tr>
    </table>
    <br>
    <INPUT type=hidden value=$row[id] name=id>
    <INPUT type=text value=$row[true_otvet] name=true_otvet>
    <p align=center ><input type=button onclick=V5() value=NEXT id=sm disabled></p>

    </form>";
    //скрытое поле true_otvet - даннные из БД какой из ответов верный(номер)
    //ID - ID вопроса в БД
    //votvet - радиобаттноы. Value - номер у каждого свой. при проверке сверяется, =ли номер выбранного радиобаттона правильному ответу
    //file_help_name-название файла помощи к данному вопросу. При необходимости к нему идет обращение

    $_SESSION['file_help_name'] = $row['file_help_name'];
    //вынос в сессию данных поля
    $_SESSION['true_otvet'] = $row['true_otvet'];
    //вынос в сессию данных поля

    //по идее должнобыть чтото аналогичное $_SESSION для выноса в сессию данных Value радиобаттнонов.
    //Оно и нужно... Но я не знаю как...
    }
    }

    ?>

    <!--Подключаем нижний графический элемент-->
    <? include ("footer.php");      ?>
    </table>
    </table>
    </body>

    </html>
     
  2. Vadik(R)

    Vadik(R) Well-Known Member

    Регистрация:
    12 дек 2007
    Сообщения:
    483
    Симпатии:
    0
    Ты думаешь всем так и охота разбирать твой хтмл код? Упрости его сначала, выкинь все table нафиг, что бы в коде осталась только суть задачи. Тогда может и подскажут чего :)
     
  3. Vovochka

    Vovochka Гость

    Блин, какой еще переход на прямую через JS ???
    Мозг мой поломали.
    И вообще, зачем замарачиваться таким? Какой ожидается результат?
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей