ここからアクセスできるアプリケーションがあります: application
アプリで、モジュールのドロップダウン メニューをPlease Select
オプションのままにして送信します。モジュールを選択するように指示するメッセージが表示されます。それでは、ドロップダウンからモジュールを選択して送信してください。下にドロップダウンメニューが表示されていることがわかりAssessment
ます(そのモジュールに関連する評価)。
Assessment
ここで、ドロップダウン メニューをドロップダウン メニューと同じように実行したいと考えていModule
ます。評価が選択されていない場合は、下にメッセージが表示されます。評価が選択されている場合は、下に次のフォームが表示されます。ドロップ ダウン メニューと送信はドロップ ダウン メニューとAssessment
同じようにModule
表示され、送信は引き続きページに表示されます。
問題は、評価オプションを選択するかどうかを確認できるように、代わりに次のフォーム ブロック (複数の選択ボックスを表示) に置き換えられることです。ユーザーが送信時にドロップダウン メニューで評価を選択していない場合は選択ボックスを表示しないようにするか、評価が選択されている場合は評価ドロップダウン メニューと送信ボタンの下に表示し、置き換えないようにします。
しかし、これを引き起こしているのは何ですか?また、本来の機能を実行させることはできますか?
以下は、コードの短縮版です。
コード:
<script type="text/javascript">
function validation(e) {
var isDataValid = true;
var moduleTextO = document.getElementById("modulesDrop");
var errModuleMsgO = document.getElementById("moduleAlert");
if (moduleTextO.value == ""){
$('#targetdiv').hide();
$('#assessmentForm').hide();
errModuleMsgO.innerHTML = "Please Select a Module";
isDataValid = false;
}else{
errModuleMsgO.innerHTML = "";
$('#assessmentForm').show();
}
if (isDataValid === false)
{
if (e.preventDefault)
{
e.preventDefault();
e.stopPropagation();//VERY important
}
e.returnValue = false;
e.cancelBubble = true;
}
return isDataValid;
}
function sessionvalidation(e) {
var isDataValid = true;
var sessionTextO = document.getElementById("sessionsDrop");
var errAssesMsgO = document.getElementById("assessmentAlert");
if (sessionTextO.value == ""){
$('#assessmentdiv').hide();
$('#studentExistForm').hide();
errAssesMsgO.innerHTML = "Please Select an Assessment";
isDataValid = false;
}else{
errAssesMsgO.innerHTML = "";
$('#studentExistForm').show();
$('#assessmentForm').show();
}
if (isDataValid === false)
{
if (e.preventDefault)
{
e.preventDefault();
e.stopPropagation();//VERY important
}
e.returnValue = false;
e.cancelBubble = true;
}
return isDataValid;
}
</script>
<?php
$moduleHTML = "";
$moduleHTML .= '<select name="modules" id="modulesDrop">'.PHP_EOL;
$moduleHTML .= '<option value="">Please Select</option>'.PHP_EOL;
$moduleHTML .= '</select>';
?>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" onsubmit="return validation(event);">
<table>
<tr>
<th>Module: <?php echo $moduleHTML; ?></th>
</tr>
</table>
<p><input id="moduleSubmit" type="submit" value="Submit Module" name="moduleSubmit" /></p>
<div id="moduleAlert"></div>
<div id="targetdiv"></div>
</form>
<?php
if (isset($_POST['moduleSubmit'])) {
$moduleInfo = explode("_", $_POST['modules']);
$moduleNo = $moduleInfo[0];
$moduleName = $moduleInfo[1];
$moduleId = $moduleInfo[2];
$outputmodule = sprintf("<p><strong>Selected Module:</strong> %s - %s <input type='hidden' value='%s'></p>", $moduleNo, $moduleName, $moduleId);
$sessionHTML = '';
$sessionHTML = '<select name="session" id="sessionsDrop">'.PHP_EOL;
$sessionHTML .= '<option value="">Please Select</option>'.PHP_EOL;
$sessionHTML .= sprintf("<option value='%s'>%s - %s - %s</option>", $dbSessionId, $dbSessionName, date("d-m-Y",strtotime($dbSessionDate)), date("H:i",strtotime($dbSessionTime))) . PHP_EOL;
$sessionHTML .= '</select>';
$assessmentform = "<div id='lt-container'>
<form action='".htmlentities($_SERVER['PHP_SELF'])."' method='post' id='assessmentForm'>
{$outputmodule}
<p><strong>Assessments:</strong> {$sessionHTML} </p>
<p><input id='assessmentSubmit' type='submit' value='Submit Assessment' name='assessmentSubmit' /></p>
<div id='assessmentAlert'></div>
<div id='assessmentdiv'></div>
</form>
</div>";
echo $assessmentform;
}
if (isset($_POST['assessmentSubmit'])) {
$studentHTML = '';
$studentSELECT = '<select name="studenttextarea" id="studentselect" size="6">'.PHP_EOL;
$studentSELECT .= "<option disabled='disabled' class='red' value=''>No Students currently in this Assessment</option>";
$studentSELECT .= sprintf("<option disabled='disabled' value='%s'>%s - %s %s</option>", $dbStudentId, $dbStudentAlias, $dbStudentForename, $dbStudentSurname) . PHP_EOL;
$studentSELECT .= '</select>';
$studentexist="
<form id='studentExistForm'>
<p><strong>Current Active Students in Assessment:</strong></p>
<p>{$studentSELECT}</p>
</form>
</div>";
echo $studentexist;
}
?>