Php 出现错误消息时如何隐藏或不显示窗体
我有一个现场申请 请按照以下步骤使用应用程序:Php 出现错误消息时如何隐藏或不显示窗体,php,javascript,html,Php,Javascript,Html,我有一个现场申请 请按照以下步骤使用应用程序: 打开应用程序后,立即单击“提交课程和模块”提交按钮。您将看到出现一条javascript错误消息,说明“请选择课程和模块” 现在,在课程下拉菜单中选择课程“INFO101…”,在模块下拉菜单中选择模块“CHI2513…”,然后单击提交按钮 您将看到下面的表单显示,其中包含文本输入,这很好 但这就是问题所在。现在,如果您查看课程和模块下拉菜单,它们都表示“请选择”。因此,再次点击“提交课程和模块”提交按钮。现在,它像在步骤1中一样显示错误消息,但仍然
<script type="text/javascript">
function validation() {
var isDataValid = true;
var courseTextO = document.getElementById("coursesDrop");
var moduleTextO = document.getElementById("modulesDrop");
var errModuleMsgO = document.getElementById("moduleAlert");
if (courseTextO.value == "" && moduleTextO.value == ""){
errModuleMsgO.innerHTML = "Please Select a Course and Module";
isDataValid = false;
} else if (courseTextO.value == ""){
errModuleMsgO.innerHTML = "Please Select a Course";
isDataValid = false;
}else if (moduleTextO.value == ""){
errModuleMsgO.innerHTML = "Please Select a Module";
isDataValid = false;
}else{
errModuleMsgO.innerHTML = "";
}
return isDataValid;
}
</script>
函数验证(){
var isDataValid=true;
var courseTextO=document.getElementById(“coursesDrop”);
var moduleTextO=document.getElementById(“modulesDrop”);
var errModuleMsgO=document.getElementById(“modulelert”);
如果(courseTextO.value==“”&moduleTextO.value==“”){
errModuleMsgO.innerHTML=“请选择课程和模块”;
isDataValid=false;
}else if(courseTextO.value==“”){
errModuleMsgO.innerHTML=“请选择课程”;
isDataValid=false;
}else if(moduleTextO.value==“”){
errModuleMsgO.innerHTML=“请选择一个模块”;
isDataValid=false;
}否则{
errModuleMsgO.innerHTML=“”;
}
返回有效数据;
}
以下是HTML/php:
<h1>EDIT AN ASSESSMENT'S DATE/START TIME</h1>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" onsubmit="return validation();">
<table>
<tr>
<th>Course: <?php echo $courseHTML; ?></th>
<th>Module: <?php echo $moduleHTML; ?></th>
</tr>
</table>
<p><input id="moduleSubmit" type="submit" value="Submit Course and Module" name="moduleSubmit" /></p>
<div id="moduleAlert"></div>
<div id="targetdiv"></div>
</form>
<?php
if (isset($_POST['moduleSubmit'])) {
$outputmodule = "";
$moduleInfo = explode("_", $_POST['modules']);
$moduleId = $moduleInfo[0];
$moduleName = $moduleInfo[1];
$outputmodule = sprintf("<p><strong>Module:</strong> %s - %s</p>", $moduleId, $moduleName);
$editsession = "
<div id='rt-container'>
<form id='updateForm'>
<p><strong>Current Assessment's Date/Start Time:</strong></p>
<table>
<tr>
<th>Assessment:</th>
<td><input type='text' id='currentAssessment' name='Assessmentcurrent' readonly='readonly' value='' /> </td>
</tr>
<tr>
<th>Date:</th>
<td><input type='text' id='currentDate' name='Datecurrent' readonly='readonly' value='' /> </td>
</tr>
<tr>
<th>Start Time:</th>
<td><input type='text' id='currentTime' name='Timecurrent' readonly='readonly' value=''/> </td>
</tr>
</table>
<div id='currentAlert'></div>
<p><strong>New Assessment's Date/Start Time:</strong></p>
<table>
<tr>
<th>Assessment:</th>
<td><input type='text' id='newAssessment' name='Assessmentnew' readonly='readonly' value='' /> </td>
</tr>
<tr>
<th>Date:</th>
<td><input type='text' id='newDate' name='Datenew' readonly='readonly' value='' /> </td>
</tr>
<tr>
<th>Start Time:</th>
<td><input type='text' id='newTime' name='Timenew' readonly='readonly' value=''/></td>
</tr>
</table>
<div id='datetimeAlert'></div>
</form>
<p id='submitupdatebtn'><button id='updateSubmit'>Update Date/Start Time</button></p>
</div>
";
echo $editsession;
}
?>
编辑评估的日期/开始时间
试试像这样的东西
<?php if(!$error) { ?>
<form id='updateForm'>
.
.
.
</form>
<?php } ?>
.
.
.
试试下面的方法
<?php if(!$error) { ?>
<form id='updateForm'>
.
.
.
</form>
<?php } ?>
.
.
.
既然您使用的是jQuery,只需执行以下操作:
if (courseTextO.value == "" && moduleTextO.value == ""){
$('#form').hide();
errModuleMsgO.innerHTML = "Please Select a Course and Module";
isDataValid = false;
}
通过添加$('#form').hide()
根据您的情况,您可以确保无论何时显示“请选择课程和模块”消息,表单都将被隐藏。由于您使用的是jQuery,只需执行以下操作:
if (courseTextO.value == "" && moduleTextO.value == ""){
$('#form').hide();
errModuleMsgO.innerHTML = "Please Select a Course and Module";
isDataValid = false;
}
通过添加$('#form').hide()
根据您的情况,您可以确保在任何时候显示消息请选择课程和模块
,表单将被隐藏