JavaScriptに奇妙な問題があります。私はajaxデータベースで作業しています。データベースのログインフォームは、ajaxリクエスト/機能を使用してPHPコントローラにデータを送信します。私はログインページにerror-displayer invisible div(名前はerrorDiv)があります。 ERRORDIV HTMLは次のとおりです。JavaScriptのイベントをトリガーすると、別のdivにエラーテキストが表示されます。
<div id="errorDiv" style="visibility:hidden; display:none">
...
</div>
ログインフォームでユーザー名とパスワードの両方のフィールドを空のままにしているとき、私は、レスポンスにPHPコントローラを必要とするログインフォームを表示し、JavaScriptの機能を実行する「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';
}
}
エラーdiv.DisplayLoginError()関数のコードがある(両方のフィールドを記入してください)可視エラーDIVを作成し、エラーメッセージを表示します
今や問題は、ほとんどのJavaScriptイベントがユーザーアクションによって起動されるため、実行できないということです。私は、formタグにmouseoverイベントを割り当てました。このイベントは、DisplayLoginError関数を実行してerrorDivにエラーを表示します。
<form onmouseover="DisplayLoginError()"> ..... </form>
しかし、適切な解決策ではありません。私はページ全体ではなくログインdivだけを読み込んでいる間、この関数を実行できるイベントが必要です。メインページがまだdivの変更だけで残っているajaxデータベースとして、ここでonloadイベントを使用することはできません。時間のイベントがこの目的のために使用できるかもしれません...私は確信していません...もっと良い解決策があるかもしれません...私はどのようにAJAXでそれを行うことができます...助けてください!
それは提出時にはありません@Napsterなぜuはちょうどsubmit.click() –
を使用することはできません。その約応答。 PHPコントローラがエラーに応答しているときは、errorDivのエラーもレスポンスと共に表示する必要があります。 –
これがAJAXの場合、応答を処理するクライアント側のスクリプトがいくつかあるはずです。それを使用してください。私はあなたの "PHPコントローラコード"が何をしているのか分かりませんが、クライアントで処理される応答を送信しているようには見えません。 –