jquery と php を使用して送信されたフォームを確認しようとしています。データがフォームに入力されているかどうかを検証し、サーバーのコールバック応答に応じてさまざまな操作を実行するために、.ajax 要求をサーバーに送信しています。たとえば、名が入力されていない場合、または姓が入力されていない場合にエラー メッセージを表示します。
問題は、両方が入力されていない場合、エラー メッセージを明らかにせずに、コールバックがメッセージの firstname と lastname を一緒に返すことです。
// JavaScript Document
$(function(){
$("#form").submit(function(event){
$("#name_alert").css("display,none");
event.preventDefault();
$.ajax({
url:'functions/register_user.php',
type:"POST",
data:$(this).serialize(),
success:function(data){
if(data=='true')
{
$("#form").effect("shake", {times:2}, 600);
$("#alert").fadeIn("slow");
$("#note").fadeIn("slow").html('<strong>ERROR</strong>: Your details were incorrect.');
}
if(data=='name'){
$("#name_alert").fadeIn("fast").effect("shake", {times:1}, 600);
$("#name_note").html('<strong>ERROR</strong>: Your first name must be in the range
of 2 to 20 characters long.');
}
if(data=='surname'){
$("#surname_alert").fadeIn("fast").effect("shake", {times:1}, 600);
$("#surname_note").html('<strong>ERROR</strong>: Your surname must be in the range
of 2 to 20 characters long.');
}
else {
$("#name_alert").fadeOut("fast");
$("#note").html('<strong>PERFECT</strong>: You may proceed. Good times.');
}
}
});
});
});
サーバー側のコードは、フォームのフィールドが空かどうかをチェックし、名や姓などの対応するメッセージをエコーします。その後、jquery はサーバーの出力に応じて適切なメッセージを表示します。