|
|
|
| Здраствуйте уважаемые форумчане!
написал я скрипт тестирования студентов, все все работает отлично но есть маленькое НО! тест не ограничен во времени, т.е. через 100 секунд нужно перейти на скрипт обработки С вашей помощью узнал что время на странице пишется через JS Закозал скрипт - нописали!
<body>
<!-- -->
<span id="t"></span>
<script language="JavaScript">
<!--
var n=100
var inter=setInterval("f()",1000)
t.innerText=n
function f(){
n--
if(n==0){
location.href="perexod2.php"
clearInterval(inter)
}
t.innerText=n
}
//-->
</script>
|
Добавил немного своего и вышло:
<html>
<head>
<title></title>
<meta/>
</head>
<body>
<!-- ------------------------------------------------------------------------------------------------------------ -->
<span id="t"></span>
<script language="JavaScript">
<!--
var n=100
var inter=setInterval("f()",1000)
t.innerText=n
function f(){
n--
if(n==0){
location.href="perexod2.php"
clearInterval(inter)
}
t.innerText=n
}
//-->
</script>
<!-- ---------------------------------------------------------------------------------------------------------------- -->
<h1>Тести з курсу інформатики</h1>
<hr>
<form method='post' action="perexod2.php">
<h2><center>Hardware</center></h2>
Введіть ПІБ <input type='text' name='fio' size='50'>
Курс <input type='text' name='one' size='10'>
Група <input type='text' name='two' size='10'>
Факультет <input type='text' name='total' size='50'>
<hr>
<h2>1.Який компонент комп'ютера проводить обчислення і оперує даними?</h2>
<form method='post' action="test2.php">
<input type="radio" name="t" value='1'>Процесор.<br>
<input type="radio" name="t" value='2'>BIOS<br>
<input type="radio" name="t" value='3'>Материнська плата.<br>
<hr>
<h2>2.Від чого залежить продуктивність системи?</h2>
<input type="radio" name="y" value='1'>Від BIOS.<br>
<input type="radio" name="y" value='2'>Від розміра монітора.<br>
<input type="radio" name="y" value='3'>Від продуктивності процесора.<br>
<input type="radio" name="y" value='4'>Від CMOS.<br>
<hr>
<input type="submit" name="submit" value="Перевірити">
</form>
</body>
</html>
|
вот скрипт обработки формы
<?php
define("PROCENTI", 20);
define("PROCENTIY", 10);
if (isset ($_POST['submit']))
{
{
$first=$_POST['fio'];
if($fio==''){print "<font size='' color='red'>Вы не ввели Фамилию Имя
Отчество!</font> <a href='perexod.html'><<<назад</a>"; exit;}
}
{
$first=$_POST['one'];
if($one==''){print "<font size='' color='red'>Вы не ввели Курс!</font> <a
href='perexod.html'><<<назад</a>"; exit;}
}
{
$first=$_POST['two'];
if($two==''){print "<font size='' color='red'>Вы не ввели Группу!</font> <a
href='perexod.html'><<<назад</a>"; exit;}
}
{
$first=$_POST['total'];
if($total==''){print "<font size='' color='red'>Вы не ввели
Факультет!</font> <a href='perexod.html'><<<назад</a>"; exit;}
}
{
$a=$_POST['t'];
if ($t=="1") {$t="25";}
if ($t=="2") {$t="0";}
if ($t=="3") {$t="0";}
//echo $t;
}
{
$a=$_POST['y'];
if ($y=="1") {$y="0";}
if ($y=="2") {$y="0";}
if ($y=="3") {$y="25";}
if ($y=="4") {$y="0";}
//echo $y;
}
}
$tay=date("H:i jS F");
$g=$t+$y;
$procen=$g*PROCENTI/PROCENTIY;
echo "<b>ФИО </b>".$fio."<br>\n";
echo "<b>Курс </b>".$one."<br>\n";
echo "<b>Група </b>".$two."<br>\n";
echo "<b>Факультет </b>".$total."<br>\n";
//echo $g."<br>";
echo $procen."%<br>";
if ($procen<80)
echo "<h2>Ви не здали<h2><br> <img src='test3.JPG'><br><h2>Результат проходження
тесту\t\t".$fio."\t\tвідправленно вікладачу\t\t".$tay;
elseif ($procen==80)
echo "<h2> Ви здали</h2><img src='test2.jpg'>";
elseif ($procen==100)
echo "<h2> Ви здали</h2><img src='test.JPG'>";
?>
|
Проблема в том как сделать чтоб ява скрипт отправил значение из формы (проще говоря нажал на кнопку Submit) ? | |
|
|
|
|
|
|
|
для: Sajmon
(18.09.2008 в 12:41)
| | <form method='post' action="perexod2.php"> заменить на <form id="frm(это пример, можете выбрать другое имя индентификатора)" method='post' action="perexod2.php">
Теперь можете отправить форму методом:
document.getElementById('frm').sumit(), заменив этой строкой строку location.href="perexod2.php" в вашем коде, но сперва очистите интервал, а потом отправляйте форму. | |
|
|
|
|
|
|
|
для: sim5
(18.09.2008 в 12:53)
| | если можна немного подробнее я только начинаю немного не понял про очистку интервала | |
|
|
|
|
|
|
|
для: Sajmon
(18.09.2008 в 12:59)
| | Это здесь:
if(n==0){
//location.href="perexod2.php" эту строку выбрасываем
clearInterval(inter);
//а тут отправляем форму, прописав строку
//которую я привел в примере
}
|
| |
|
|
|
|
|
|
|
для: sim5
(18.09.2008 в 13:09)
| | Уважаемый sim5 могу я вас попросить привести полностью скрипт а не по частя а то я чото наделал что ничего не работает! | |
|
|
|
|
|
|
|
для: Sajmon
(18.09.2008 в 13:18)
| | Вы хотите чтобы я всю вашу портянку переписал ? ) Ну неужели трудно в вашем коде найти выражение if(n==0) и далее прописать то, что с написал:
if(n==0){
clearInterval(inter);
document.getElementById('frm').sumit();
}
|
Если вы конечно дадите id форме, такое, как в моем примере: frm. | |
|
|
|
|
|
|
|
для: sim5
(18.09.2008 в 13:25)
| |
<html>
<head>
<title></title>
<meta/>
</head>
<body>
<!-- -->
<span id="t"></span>
<script language="JavaScript">
<!--
var n=10
var inter=setInterval("f()",1000)
t.innerText=n
function f(){
n--
if(n==0){
clearInterval(inter);
document.getElementById('frm').sumit();
}
t.innerText=n
}
//-->
</script>
<!-- ---------------------------------------------------------------------------------------------------------------- -->
<h1>Тести з курсу інформатики</h1>
<hr>
<form id="frm()" method='post' action="perexod2.php">
<h2><center>Hardware</center></h2>
Введіть ПІБ <input type='text' name='fio' size='50'>
Курс <input type='text' name='one' size='10'>
Група <input type='text' name='two' size='10'>
Факультет <input type='text' name='total' size='50'>
<hr>
<h2>1.Який компонент комп'ютера проводить обчислення і оперує даними?</h2>
<form method='post' action="test2.php">
<input type="radio" name="t" value='1'>Процесор.<br>
<input type="radio" name="t" value='2'>BIOS<br>
<input type="radio" name="t" value='3'>Материнська плата.<br>
<hr>
<h2>2.Від чого залежить продуктивність системи?</h2>
<input type="radio" name="y" value='1'>Від BIOS.<br>
<input type="radio" name="y" value='2'>Від розміра монітора.<br>
<input type="radio" name="y" value='3'>Від продуктивності процесора.<br>
<input type="radio" name="y" value='4'>Від CMOS.<br>
<hr>
<input type="submit" name="submit" value="Перевірити">
</form>
</body>
</html>
|
правильно? а то что то не работает | |
|
|
|
|
|
|
|
для: Sajmon
(18.09.2008 в 13:53)
| | id="frm" - без всяких скобок. В скобках я написал для вас, что вы можете вырать другое имя. | |
|
|
|
|
|
|
|
для: sim5
(18.09.2008 в 13:57)
| |
но сабака не работает
[code
<html>
<head>
<title></title>
<meta/>
</head>
<body>
<!-- -->
<span id="t"></span>
<script language="JavaScript">
<!--
var n=10 // количество секунд
var inter=setInterval("f()",1000)// запускаем таймер - 1000 миллисикунды
t.innerText=n
function f(){
n--
if(n==0){ // если время выщло
clearInterval(inter) // убераем интервалы
document.getElementById('frm').sumit() // взять данные из формы которая ниже
//location.href="script.php" //переходим на эту страницу
}
t.innerText=n
}
//-->
</script>
<!-- ---------------------------------------------------------------------------------------------------------------- -->
<h1>Тести з курсу інформатики</h1>
<hr>
<form id="frm" method='post' action="perexod2.php">
<h2><center>Hardware</center></h2>
Введіть ПІБ <input type='text' name='fio' size='50'>
Курс <input type='text' name='one' size='10'>
Група <input type='text' name='two' size='10'>
Факультет <input type='text' name='total' size='50'>
<hr>
<h2>1.Який компонент комп'ютера проводить обчислення і оперує даними?</h2>
<form method='post' action="test2.php">
<input type="radio" name="t" value='1'>Процесор.<br>
<input type="radio" name="t" value='2'>BIOS<br>
<input type="radio" name="t" value='3'>Материнська плата.<br>
<hr>
<h2>2.Від чого залежить продуктивність системи?</h2>
<input type="radio" name="y" value='1'>Від BIOS.<br>
<input type="radio" name="y" value='2'>Від розміра монітора.<br>
<input type="radio" name="y" value='3'>Від продуктивності процесора.<br>
<input type="radio" name="y" value='4'>Від CMOS.<br>
<hr>
<input type="submit" name="submit" value="Перевірити">
</form>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Sajmon
(18.09.2008 в 15:35)
| | Во-первых я допустил ошибку в написании метода - правильно так: submit(). Второе, дайте имя вашей кнопки submit другое, например:
<input type="submit" name="submt" value="Перевірити">
Третье, что за объявление формы внутри формы: <form method='post' action="test2.php"> - выборосить это.
Четвертое - запись t.innerText=n вне функции удалить... Короче скрипт запишите так, и между тегами HEAD:
<head>
<script language="JavaScript">
<!--
var n=10 // количество секунд
var inter=setInterval("f()",1000)// запускаем таймер - 1000 миллисикунды
function f(){
n--
if(n==0) { // если время выщло
clearInterval(inter);
document.getElementById("frm").submit();
}
t.innerText=n
}
//-->
</script>
</head>
|
И запишите в элемент SPAN начальное число 10, чтобы не скакала страница при запуске интервала. | |
|
|
|