我在使用 JavaScript 时遇到了一个奇怪的问题,我正在开发一个 ajax 数据库。数据库的登录表单使用 ajax 请求/函数将数据发送到 PHP 控制器。我在登录页面上有一个错误显示不可见的 div(名为 errorDiv)。errorDiv html 是:
<div id="errorDiv" style="visibility:hidden; display:none">
...
</div>
当登录表单中的用户名和密码字段都为空时,我需要 PHP 控制器响应,显示登录表单并运行 JavaScript 函数“DisplayLoginError()”,这将使错误 div 可见并显示错误消息(请填写两个字段)在error-div.DisplayLoginError()函数的代码是:
function DisplayLoginError()
{
document.getElementById('errorDiv').style.visibility="visible";
document.getElementById('errorDiv').style.display="block";
document.getElementById('errorDiv').innerHTML = "<?php echo $loginerror; ?>";
}
php控制器代码为:
if(isset($_REQUEST['login']))
{
if(isset($_REQUEST['username']) && isset($_REQUEST['password']))
{
.....Both the fields are filled...
}
else /*===Error:Any of the username or password field has been left empty====*/
{
$loginerror='Please fill both the Fields to login.';
include $_SERVER['DOCUMENT_ROOT'].'\hospital\includes\collegedata\login-form.html.php';
}
}
现在的问题是它无法完成,因为大多数 javascript 事件都是由用户操作触发的。暂时我已经为表单标签分配了一个 mouseover 事件,当触发该事件时运行 DisplayLoginError 函数并在 errorDiv 中显示错误。
<form onmouseover="DisplayLoginError()"> ..... </form>
但它不是正确的解决方案。我需要一个可以在仅加载登录 div 而不是整个页面时运行此功能的事件。我不能在这里使用 onload 事件作为它的 ajax 数据库,其中主页仍然只有 div 的更改。可能是时间事件可以用于此目的...我不确定...可能有更好的解决方案...我如何使用 ajax 来做到这一点?