Я очень ценю ваш непостижимый вклад в этот форум.
Но мне действительно нужна твоя помощь здесь ….
Я задавал этот вопрос иногда назад. Хотя часть ответа была дана, но в ответе есть некоторые недостатки.
Мне нужно было автоматически отправить форму, содержащую радиокнопки, либо по выбору пользователя, либо по функции timeOut.
Некоторые ребята ответили на вопрос по setTimeOut и форме AutoSubmit.
Однако, следуя приведенному ниже сценарию, возникает серьезная ошибка, которая не известна как ошибка в сценарии.
Ошибка: при отправке формы или при автоматической отправке обработчик формы не распознает выбор пользователя. Скорее он видит это как пустой (пропущенный).
Радиокнопки загружаются с использованием php, а не прямой HTML. Пожалуйста, смотрите код ниже.
Код для радиокнопок:
<form id="form2" name="form2" method="post" action="preresult.php?Id=<?php echo $SID;?>&QuizId=<?php echo $qId;?>">
<table width="60%" border="0" cellpadding="0" cellspacing="0" align="center">
<?php
$q=$Question;
$qid = '<input type="hidden" name="qid" id="qid" value="'.$Id.'" />';//question Id
$atsh='<input type="hidden" name="ats" id="ats" value="'.$atsid.'" />';//subject Id
//$quizh='<input type="hidden" name="quiz" id="quiz" value="'.$Quiz.'" />';//quiz Id
$qh='<input type="hidden" name="quest" id="quest" value="'.$Question.'" />';//get the question
$ah='<input type="hidden" name="ans" id="ans" value="'.$Answer.'" />'; //get the correct answer
$qh = '<input type="hidden" name="quest" id="quest" value="' . $Question . '" />';
//get the question
$ah = '<input type="hidden" name="ans" id="ans" value="' . $Answer . '" />'; //get the correct answer
$qA = '<input type="radio" onchange="this.form.submit();" name="RadioGroup' . $i . '" value="' . $OptionA . '" id="OptionA" />' . $OptionA; //get the choices
$qB = '<input type="radio" onchange="this.form.submit();" name="RadioGroup' . $i . '" value="' . $OptionB . '" id="OptionB" />' . $OptionB;
$qC = '<input type="radio" onchange="this.form.submit();" name="RadioGroup' . $i . '" value="' . $OptionC . '" id="OptionC" />' . $OptionC;
$qD = '<input type="radio" onchange="this.form.submit();" name="RadioGroup' . $i . '" value="' . $OptionD . '" id="OptionD" />' . $OptionD;echo '<tr><td height="36" colspan="2" bgcolor="#85A157"><span class="style1">Q.' . $i . ' ' . $q . '</span>' . $qh . $ah . $qid . '</td></tr>';
echo '<tr><td colspan="2"><table width="100%" height="64" border="2" cellpadding="0" cellspacing="0" bordercolor="#A6BF79">';
echo '<tr><td height="32" width="50%"><span style="color: #000; font-weight: bold; font-size:18px; font-family:comic Sans MS;">' . $qA . '</span></td>';
echo '<td width="50%"><span style="color: #000; font-weight: bold; font-size:18px; font-family:comic Sans MS;">' . $qC . '</span></td></tr>';
echo '<tr><td height="32" width="50%"><span style="color: #000; font-weight: bold; font-size:18px; font-family:comic Sans MS;">' . $qB . '</span></td>';
echo '<td width="50%"><span style="color: #000; font-weight: bold; font-size:18px; font-family:comic Sans MS;">' . $qD . '</span></td></tr>';
?>
<input type="submit" name="button" id="button" value="Submit" />
обрабатывающий php файл — preresult.php
<?php
if (!isset($_POST['RadioGroup'.$i])){
$ans1="Skipped";
}else{
$userAns = $_POST['RadioGroup'.$i];}//the user selected answer
$question = $_POST['quest'];//the question
$correctAnswer = $_POST['ans'];//the correct answer
$qid = $_POST['qid'];//the question Idecho 'User Answer: '. $userAns . '<br />';
echo 'Correct Answer: '. $correctAnswer . '<br />';
Here, the returned value is skipped for user's answer
And the correct answer is recognised which is read from the database.
?>
Сложность заключается в том, что при autoSubmit процессор форм не передает выбор пользователя. Не видит выбор пользователя. Скорее, он видит это как пропущенный (пустой).
Пожалуйста помоги мне с этим.
Спасибо вам, ребята.
Задача ещё не решена.
Других решений пока нет …